我正在使用Liferay Portal服务器上的Spring Portlet-MVC框架和Velocity的项目。对于几页我们有要求在安全的连接上为他们服务。对于Portlet来说相当新,我提出了链接到Action-Method并从那里重定向的解决方案。RenderRequest上的协议重定向
@ActionMapping(params = "command=secureRedirect")
public void actionSecureRedirect(ActionRequest request, ActionResponse response) {
HttpServletRequest servletRequest = PortalUtil.getHttpServletRequest(request);
String absoluteUrl = servletRequest.getRequestURL().toString();
String[] urlComponents = StringUtils.split(absoluteUrl, '/');
StringBuffer redirectUrl = new StringBuffer("https://");
redirectUrl.append(urlComponents[1]);
redirectUrl.append("<specificPath>");
response.sendRedirect(redirectUrl.toString());
}
我的解决方案的作品,但对我来说似乎不是很好。我想知道是否有人可以想到另一种更透明的方法来做到这一点(也许使用拦截器和RenderMappings的注释?)。
任何建议将不胜感激!