2

我正在使用一个 JSP 页面,它显示了一个已获取的存储对象表。当用户单击显示存储对象大小的数字时,我希望弹出另一个 JSP 页面。

如何使用 Javascript(或任何其他技术)将指定存储项的名称传递给弹出 JSP 窗口,然后在弹出 JSP 中检索该名称并能够在该页面的代码中使用它?

小脚本 for 循环如下所示:

<% for(Storage s : someList){ %>
   <tr>
      <td> <%= s.getName() %> </td> <td> <%= s.getSize() %> </td>
   </tr>
<% } %>
4

1 回答 1

3

将其作为请求参数传递。

例如

<td onclick="window.open('popup.jsp?name=<%= URLEncoder.encode(s.getName(), "UTF-8") %>', 'windowname')">

popup.jsp

<%= request.getParameter("name") %>

或者,更简洁地,使用JSTLEL

<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}
于 2011-09-28T20:58:25.530 回答