2011-03-29 31 views
0

我是JSP的總新手。 我只能從另一個網頁的表單標籤接收數據。 我不知道任何MCV(MVC?),也不知道自定義標記,會話,cookie或任何比這更深的東西。在JSP中,如何使用錨標籤傳遞ArrayList?

我需要的是將一個ArrayList傳遞給另一個使用錨標籤的動態生成的JSP頁面。 這裏是規範。

基本上我有一個2維ArrayList。 第一個維度在第一個JSP頁面中迭代並列出。

所以第一個JSP頁面應該是這樣的:


這是ArrayList1。大小爲23.

這是ArrayList2。大小爲19.

這是ArrayList3。大小是12。

..

..

..

這是ArrayList的(N)。的大小爲1


每一行是一個錨定標記,並且當用戶點擊它, 相應的ArrayList被傳遞到第二JSP頁面。

第二個JSP頁面,它所做的就是接收一個ArrayList,並遍歷它並列出其中的數據。 所以需要只有一個「第二個JSP頁面」,因爲它一次只能接收一個ArrayList。它只是需要動態。

我知道如何迭代JSP頁面中的ArrayList。 我不知道如何使用錨標籤將ArrayList傳遞到另一個JSP頁面。

歡迎任何提示或方法。我做了一些自己的搜索,但所有的評論對我來說都太高級了。我會很感激任何幫助。謝謝。

回答

0

我認爲你不應該這樣做的方式。相反,你可以採取以下的方式。它更容易,更可能。

理念: - 將所有的ArrayList到

request.setAttribute("arraylist1",Arraylist1); 
request.setAttribute("arraylist2",Arraylist2); 
..... 

- 在每個錨標記,你把一個ID識別哪些鏈接是點擊

(e.g. <a href="b.jsp?id=arraylist1">your link </a>) 

- 在b.jsp,得到id參數這行代碼

String selectedLink = request.getParameter("id") 
  • 比較是否selectedLink = arraylist1
  • List selectedArray =(List)request.getAttribute(selectedLink);

希望這個有用

NathanPhan

+0

感謝您的回覆!我嘗試了類似於你的答案。我將每個ArrayList的Key傳遞給另一個JSP頁面。在第二個JSP頁面中,我再次從MySQL調用相應的ArrayList。我不知道這是否是耗時的最佳方案,但它對我來說足夠簡單:) – mp2893 2011-04-01 02:43:57

+0

這很有用嗎? – Nathanphan 2011-04-01 02:45:52

+0

哦,我像30秒前編輯我的回覆。巧合:)我希望我的第一個評論是對你的問題的回答。 – mp2893 2011-04-01 02:48:13

0
  1. 你可能不想這樣。
  2. ,如果你真的想這樣做,那麼
  3. 它是不是真的JSP相關的問題,相反,它是HTTP相關問題
  4. ,您可以加入與逗號陣列中的內容,整個字符串追加爲查詢url中的字符串組件。

例如:

在a.jsp你有一個鏈接:

b.jsp?array=1,2,3,4,5 

b中。JSP你解釋陣列串並得到一個ArrayList:

[1,2,3,4,5]

+0

感謝您的答覆。但你爲什麼建議「我可能不想這樣」?我的架構是一個壞主意嗎?而且,我不能在查詢字符串中追加一個ArrayList嗎? – mp2893 2011-03-30 00:09:33

+0

看起來有點奇怪,如果數組中的數據不是很大,那麼它可能是好的,如果數據很大,您可能想要將數據存儲在服務器端,並將一個鍵傳遞給頁面中的數組頁面。似乎沒有直接的將'ArrayList'追加到,http不知道'ArrayList'。 – 2011-03-30 01:20:05