我正在使用JSP页面,它显示了一个已获取的存储对象的表。当用户单击显示存储对象大小的数字时,我想要弹出另一个JSP页面。
如何使用Javascript(或任何其他技术)将指定存储项的名称传递给弹出JSP窗口,然后在弹出JSP中检索该名称并能够在该页面的代码中使用它?
for循环的scriptlet如下所示:
<% for(Storage s : someList){ %>
<tr>
<td> <%= s.getName() %> </td> <td> <%= s.getSize() %> </td>
</tr>
<% } %>
答案 0 :(得分:3)
将其作为请求参数传递。
E.g。
<td onclick="window.open('popup.jsp?name=<%= URLEncoder.encode(s.getName(), "UTF-8") %>', 'windowname')">
with popup.jsp
:
<%= request.getParameter("name") %>
<c:forEach items="${someList}" var="s">
<c:url value="popup.jsp" var="popupUrl">
<c:param name="name" value="${s.name}" />
</c:url>
<tr>
<td>${s.name}</td><td onclick="window.open('${popupUrl}', 'windowname')">${s.size}</td>
</tr>
</c:forEach>
with popup.jsp
${param.name}