2011-09-28 69 views
2

我正在處理一個JSP頁面,它顯示了一個已獲取的存儲對象的表。當用戶單擊顯示存儲對象大小的數字時,我想要彈出到另一個JSP頁面。傳遞字符串以彈出

如何使用Javascript(或其他技術)將指定存儲項目的名稱傳遞給彈出的JSP窗口,然後在彈出的JSP中檢索該名稱並能夠在該頁面的代碼中使用它?

scriptlet中的for循環看起來是這樣的:

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

回答

3

把它作爲請求參數。

E.g.

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