2011-09-28 10 views
2

私はJSPページで作業しています。フェッチされたストレージオブジェクトのテーブルを表示しています。ユーザーがストレージオブジェクトのサイズを表示している番号をクリックすると、別のJSPページにポップアップが表示されます。ポップアップに文字列を渡す

Javascript(または他の手法)を使用して、指定したストレージ項目の名前をポップアップJSPウィンドウに渡して、その名前をポップアップJSPで取得し、そのページのコードで使用できるようにするにはどうすればよいですか?

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

答えて

3

はリクエストパラメータとして渡す:

forループスクリプトレットは、次のようになります。

など。 popup.jspのある

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

<%= 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} 
のあります