我正在使用一个 JSP 页面,它显示了一个已获取的存储对象表。当用户单击显示存储对象大小时的数字时,我想弹出另一个 JSP 页面。
如何使用 Javascript(或任何其他技术)将指定存储项的名称传递给弹出式 JSP 窗口,然后在弹出式 JSP 中检索该名称并能够在该页面的代码中使用它?
for 循环的 scriptlet 如下所示:
<% for(Storage s : someList){ %>
<tr>
<td> <%= s.getName() %> </td> <td> <%= s.getSize() %> </td>
</tr>
<% } %>
最佳答案
将其作为请求参数传递。
例如
<td onclick="window.open('popup.jsp?name=<%= URLEncoder.encode(s.getName(), "UTF-8") %>', 'windowname')">
在 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>
在popup.jsp
${param.name}
关于javascript - 将字符串传递给弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589491/