2012-02-09 72 views
0

我要問你,如何通過變量,有個例子:通過值從.JSP到新頁面的.jsp

我在pageone.jsp變量串x然後我打開一個新的標籤頁pagetwo .jsp(使用JavaScript window.open),是否可以在pagetwo.jsp中使用變量X(來自pageone.jsp)?請說明一下,非常感謝!

回答

-3

使用request.setAttribute("attribute_x", x);page1.jsp中存儲請求中x的值,然後在page2.jsp中使用request.getAttribute("attribute_x").toString();來檢索該值。

您還可以使用session用於此目的(session.setAttribute()session.getAttribute()

+0

你會(誰投了棄權)發表評論,你爲什麼投這篇文章?這是怎麼回事? – 2012-02-09 09:32:22

+0

request.getAttribute(「attribute_x」)。toString();它是返回String還是隻設置新變量x? – Nore 2012-02-09 09:35:28

+0

request.getAtribute()返回包含String實例的Object實例。您也可以使用(String)request.getAttribute() – 2012-02-09 09:37:48

0

您應該將變量名稱和值存儲在cookie中。
並獲取pagetwo.jsp中的cookie值。

您可以在會話中存儲變量值。

+0

不,不要。 Cookie和會話用於* persistent *數據,而不是從一個頁面傳遞到下一個頁面的數據。 – Quentin 2012-02-09 09:25:08

+0

我不喜歡使用cookies :) – Nore 2012-02-09 09:36:32

0

只需將數據放在URI中,可能作爲查詢字符串。確保你使用encodeURIComponent來使URI的數據安全。

聽起來好像數據是以Java開始的,因此您需要將它包含在您發送給pageone客戶端的頁面中。這很可能是通過設置數據結構完成的,它使用JSON對其進行編碼,然後將其分配給<script>元素中的變量。

+0

如果他想傳遞的數據是一些祕密或密碼,該怎麼辦?它將全部顯示在URL中。 – vikiiii 2012-02-09 09:26:36

+0

在那裏應該有一些擺弄POST請求的東西(只是爲了避免出現日誌等)。 – Quentin 2012-02-09 09:27:55

+0

你能告訴我示例代碼嗎? :) – Nore 2012-02-09 09:37:50

0

設置varaible到會話中的Page1.jsp和訪問相同的Page2.jsp。

在的Page1.jsp

session.setAttribute("X", "value"); 

在Page2.jsp

String x = session.getAttribute("X"); 
+0

謝謝,它的工作原理! :d – Nore 2012-02-09 09:41:47