2012-05-01 3 views
0

オブジェクトの状態に基づいてJSPページを構築する前に、私が要求しているオブジェクト(コレクション)があります。JSPからリクエストオブジェクトとしてコレクションを渡す

次に、フォームでいくつかの操作を行い、ページ全体を処理のためにサーブレットに戻します。

<jsp:useBean id="questionsForSubject" class="java.util.Map" scope="request"/> 

    <c:if test="${not empty questionsForSubject}"> 
    <form action="/TutorWebApp/controller" method="POST" name="addQuestionForm"> 
     <input type="hidden" name="command" value="add_question_list" /> 
     <input type="hidden" name="testName" value="${testName}"/> 
     <input type="hidden" name="questionsForSubject" value="${questionsForSubject}"/> 
     <table border ="1"> 
      <tbody> 
       <c:forEach items="${questionsForSubject.keySet()}" var="questionID"> 
        <tr> 
         <td> 
          <input type="checkbox" name ="choosen_question" value="${questionID}"> 
          ${questionsForSubject.get(questionID).getQuestion()} 
          <br /> 
         </td> 
        </tr> 
       </c:forEach> 
      </tbody> 
     </table> 
     <input type="submit" value="Add questions"/>    
    </form> 
    </c:if> 

前述のコレクションを渡してサーブレット側で使用できるようにする従来の方法は何ですか?

フレームワークなしで実行する必要があります。 useBeanタグ:あなたは、JSPを使用する必要はありません

request.setAttribute("questionsForSubject", questionsIdsMap); 

を使用しておりますので

答えて

0


表示用 、

<c:forEach items="${questionsForSubject}" var="current"> 
       <tr> 
        <td> 
         <input type="checkbox" name ="choosen_question" value="${current.key}"> 
         ${current.value} 
         <br /> 
        </td> 
       </tr> 
</c:forEach> 
0

JSPを作成した要求、およびJSPが提出されたときに生成されます要求をしようとは完全に異なる要求があると、あなたが呼び出すときにJSPの上に置かれた属性は使用できませんサーブレット。

チェック詳細な回答: Passing an object from JSP page back to Servlet

+0

私はこの記事を見ました。私は、コードrequest.getSession()。setAttribute( "questionsForSubject")コードとしてjspに値を入れようとし、この値をサーブレットのcode request.getSession()。getAttribute( "questionsForSubject")コードとして取得しようとしました。しかし、この場合の値オブジェクトはNULLに等しい。 – Ray

関連する問題