[英]How do I set a session variable via <c:set within a link in JSTL/JSP?
我在使用JSTL / JSP頁面中的<c:forEach
標記時不知道選擇了哪一行時遇到了問題。
以下是我的JSP頁面中的代碼段,該頁面成功打印出了我的session變量中的所有Users。 UserList類中還包括與數據庫中的rowID相對應的userId。
<tbody>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.firstName}</td>
<td>${user.lastName}</td>
<td>${user.email}</td>
<td><a href="#UploadModal" data-toggle="modal"><c:set var="selectedUser" value="${user.userId}" scope="request" />Upload a File</a></td>
</tr>
</c:forEach>
</tbody>
模式鏈接是來自Twitter Bootstrap的彈出模式。
<div id="UploadModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Upload Document for User <c:out value="${requestScope.selectedUser}"></c:out></h3>
</div>
<div class="modal-body">
<form method="post" action="${pageContext.request.contextPath}/upload" enctype="multipart/form-data">
<table border="0">
<tr><td>File:</td>
<td><input type="file" name="photo" size="50"/></td>
</tr>
<tr><td colspan="2"><input type="submit" value="Save"></td></tr>
</table>
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
我想做的是顯示所有用戶的行。 每個鏈接旁邊都有一個鏈接,單擊該鏈接時會彈出模式形式,然后UserId包含在會話變量中並顯示。 在將表單提交回servlet時,我可以發送文件和所需的任何其他詳細信息,以及實際選擇的UserId。
不幸的是,會話變量始終將userId設置為最后一條記錄的userId。
我可能做錯了很多事情,但是我對如何知道網頁表中單擊的記錄感到困惑。
任何幫助深表感謝..
在此循環中,您需要在循環的每次迭代中重置var selectedUser
的值。
嘗試將<a href
的id
設置為類似於user+${user.userId}
,然后使用jquery或javascript偵聽單擊,然后獲取被單擊的鏈接的id
。
然后,您可以使用此值在form
上設置parameter
(使用jquery或javascript),然后將其與其他數據一起發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.