0
<table id="searchTable"><%
for (int i=0; i<userList.size();i++){
User user=userList.get(i);%>
<tr>
<td id="leftSearchResult">
<span class="resultUsername">Name: <%=user.getUserName()%></span></br>
</td>
<td>
<!--Button to visit profile here-->
</td>
</tr>
<%}%>
</table>

この検索ユーザー機能があり、結果ごとに、ユーザーのユーザー名でテーブル行が作成されます。私がやりたいことは、テーブル行の訪問プロファイル ボタンを押すと、その行のユーザー名がサーブレットに送信されることです。それ、どうやったら出来るの?また、フォームを使用せずにサーブレットに変数を渡すことはできますか? を使用してフォームからサーブレットにデータを取得する方法は知っていますがrequest.getParameter()、この状況で何をすべきかわかりません。(userList 配列は、検索機能を実行したときにデータベースから取得された User オブジェクトの配列リストです。そのコード部分はここには含まれていません。)

4

1 に答える 1

0

リクエスト パラメータを含むリンクを使用します。また、JSP でスクリプトレットを使用しないことを学びます。代わりに JSP EL と JSTL を使用します。

<table id="searchTable">
    <c:forEach items="${userList}" var="user">
        <tr>
            <td id="leftSearchResult">
                <span class="resultUsername">
                    Name: <c:out value="${user.userName}"/>
                </span>
            </td>
            <td>
                <a href="<c:url value="/userDetails">
                             <c:param name="userId" value="${user.id}"/>
                         </c:url>">Details</a>
            </td>
        </tr>
    </c:forEach>
</table>

上記は のような URL を持つリンクを生成し、 に/userDetails?userId=1234マッピングされたサーブレット/userDetailsは を使用してユーザー ID にアクセスできるようになりますrequest.getParameter("userId")

于 2013-06-29T11:48:06.407 に答える