如何通过 JSTL/JSP 中的链接中的 <c:set 设置会话变量?



我在知道在JSTL/JSP页面中使用<c:forEach标签时选择了哪些行。

以下是我的JSP页面中的摘要,它成功地打印出了我从会话变量中拥有的所有用户。在用户列表类中还包括与数据库中的ROWID相对应的用户ID。

        <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引导的弹出模式。

    <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时,我可以将文件和任何其他详细信息以及实际选择的用户ID发送。

不幸的是,会话变量始终将用户ID设置为最后一个记录的用户ID。

我可能做错了很多事情,但是我只是为我如何知道网页表中的哪些记录感到困惑?

任何帮助都非常感谢..

在此循环中,您正在重置var selectedUser的值。

尝试将<a hrefid设置为诸如user+${user.userId}之类的东西,然后使用jQuery或JavaScript收听单击,然后获取单击的链接的id

然后,您可以使用此值在form上设置parameter(使用JQuery或JavaScript),然后将其与其他数据一起发布。

最新更新