LiferayポータルサーバーでSpring Portlet-MVCフレームワークとVelocityを使用するプロジェクトで作業しています。いくつかのページでは、安全な接続でそれらを提供する必要があります。 Portletsの新機能である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上のインターセプタと注釈を使用するかもしれませんか?)を考えることができるかどうか疑問に思っていました。
ご意見をいただければ幸いです!