[英]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.