0

ある JSP から別の JSP にデータを転送したいので、セッション変数を作成しました。私の JSP はそれぞれタブです。リクエストボディを使用して、ユーザーから提供されたデータをある JSP から別の JSP に転送します。データを<form>..><button type = "submit"/> </form>送信してJavaクラスで使用する最後のJSPがあります。

すべての JSP ページからセッション データにアクセスしようとすると、すべてのデータに対して null 値が返されます。

すべての JSP から Java クラスにすべてのセッション データを転送するにはどうすればよいですか? 各 JSP はタブであり、最後の JSP からデータを送信することに注意してください。

コード:

<% 
    String joindate = request.getParameter( "joindate" );
    session.setAttribute("joindate",joindate);
    String birthdate = request.getParameter( "birthdate" );
    session.setAttribute("birthdate",birthdate);
%>
4

1 に答える 1

1

一般に、スクリプトレットは避けるようにしてください。マコトが推奨したことを確実に実行する必要があります。JSPにデータをサーブレットに送信させることにより、MVCパターンを使用します。これにより、重い作業が行われます。

JSP にフォームがあるときはいつでも、使用を検討してください。

<form action="servletpattern?action=add_date" method="post">

次に、サーブレットで:

 HttpSession session = request.getSession();
 String action = request.getParameter("action");
 if(action.equals("add_date")){
     String joindate = request.getParameter( "joindate" );
     session.setAttribute("joindate",joindate);
     String birthdate = request.getParameter( "birthdate" );
     session.setAttribute("birthdate",birthdate);
 } else if(action.equals("someotheraction"){
     //do something else
 }

JSP では、再びスクリプトレットを使用するのではなく、EL を介してセッション変数にアクセスする必要があります。

join date: ${joindate}, birth date: ${birthdate}
于 2013-03-09T04:45:25.470 に答える