0

テーブルにいくつかのレコードを表示するjspページがあり、各レコードの横に更新というリンクがあります。update がクリックされると、jsp ページは url からレコード ownername 、record title などの情報を取得するサーブレットを呼び出します (リンクがクリックされると、これらの情報は url に添付されます)。

jsp ページによって呼び出されたサーブレットは、その要求と応答を別の jsp ページにディスパッチし、「OK」と表示します。(これは私がセットアップした単純なプログラムです)

私の問題は、sevlet が他の jsp ページにディスパッチできないことです。

これが私がやったことです:

これは、レコードを表示する最初の Jsp ページです (完全に機能します)。

<body>
    <table border="10">
        <th>Project Owner</th><th>Project Supervisor </th>
        <th>Project Title</th> 
        <th>Project Description</th>
        <th>Start-Date</th>
        <th>End-Date</th>
        <th>Approval Status</th>
        <c:forEach items="${nominationList}" var="Iter">
            <tr>
                <td>${Iter.projectOwner}</td>
                <td>${Iter.projectSupervisor}</td>
                <td>${Iter.projectTitle}</td>
                <td>${Iter.projectDescription}</td> 
                <td>${Iter.startDate}</td>
                <td>${Iter.endDate}</td>
                <td>${Iter.acceptStatus}</td>
                <td><a href="${pageContext.request.contextPath}/ProjectApproval/${Iter.projectOwner}">Update</a></td>
            </tr>  //Above is the link to update each record           
        </c:forEach>
    </table>
</body>     

これは、呼び出すサーブレット コードです。

      RequestDispatcher updateDispatcher=request.getRequestDispatcher("testing.jsp");
      updateDispatcher.forward(request, response);

//このサーブレットは他の JSP ページにディスパッチします

更新するURLの余分なものを削除すると(最初のjspページコードで)、機能することがわかりましたが、問題は、将来何か他のものを実装するためにそれらの余分なものが必要なことです。

お時間をいただきありがとうございます。

4

1 に答える 1

1

私の理解では、 ${Iter.projectOwner}を渡そうとしているとき

リストから繰り返しているからです。したがって、データはリストで利用可能でなければなりません。

代わりに、このように隠しフィールドを試すことができます。

<input type="hidden" name="" value="${Iter.projectOwner}"

そして、あなたが投稿している形でそれを使用してください。。それが役に立てば幸い !

于 2013-12-27T14:42:10.167 に答える