2011-06-17 7 views

答えて

7

ログインページにリダイレクトされたときに、最初に要求されたURLをリクエストパラメータとして渡します。 login.jsp

String from = URLEncoder.encode(request.getRequestURI(), "UTF-8"); 

if (request.getQueryString() != null) { 
    from += "?" + request.getQueryString(); 
} 

response.sendRedirect("login.jsp?from=" + from); 

、非表示の入力フィールドとしてターゲットを提出ログインフォームに渡します。

<input type="hidden" name="from" value="${fn:escapeXml(param.from)}" /> 

(注:HTMLにユーザ制御データを再表示するときfn:escapeXml()はXSSを防ぎます)、それがあるかどうかを確認し、それに応じて扱う、ログインアクションで

String from = request.getParameter("from"); 

if (from != null && !from.isEmpty()) { 
    response.sendRedirect(from); 
} else { 
    response.sendRedirect("home.jsp"); 
} 
+0

fn:escapeXmlの定義されていないエラーが発生しました。私のプロジェクトに含まれるjstlのlibと、私のページの頭の中で参照される関数ライブラリ – Vnge

関連する問題