将字符串传递给弹出窗口

时间:2011-09-28 20:56:30

标签: javascript jsp scriptlet

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

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

for循环的scriptlet如下所示:

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

1 个答案:

答案 0 :(得分:3)

将其作为请求参数传递。

E.g。

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

with 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>

with popup.jsp

${param.name}
相关问题