2012-09-26 88 views
1

我必須將.jsp中的列表傳遞給我的servlet,並且我想通過一個URL來完成。我可以做類似 -我可以在JSP的URL中傳遞List作爲參數嗎?

<a href="SellSelectedStockServlet?value=content" target="_self"> 

其中'content'是一個List。我想在我的servlet中獲取這個列表的元素。

或者我只能通過'&'分隔的個別參數?

+1

URL中的列表元素不是好的方法。就像JB Nizet所說的那樣,查詢字符串的長度是有限的。 你說你需要將一個List從一個.jsp傳遞到你的servlet。 使用ModelAttributes在jsp和servlets之間傳輸對象,這更清晰。你爲什麼喜歡在url中使用它? –

回答

12

您需要列表中的每個元素有一個參數。而所有這些參數應該具有相同的名稱:

SellSelectedStockServlet?values=elem1&values=elem2&values=elem3 

在servlet中,你會得到你的所有列表元素,就像這樣:

String[] values = request.getParameterValues("values"); 
// contains elem1, elem2 and elem3. 

當心:查詢字符串的長度是有限的。不要以這種方式傳遞大量的值。

+0

嘿,每次我通過這個過程evean單一的值我的Eclipse崩潰,爲了再次運行湯姆貓我必須改變端口號,任何修復?我該怎麼辦? - 謝謝 – 2014-02-16 11:41:31

-1

爲了使這個對象到另一個JSP是將它添加到的HttpServletRequest對象使用scriplet屬性字段:

JSP與List:

<% 
request.setAttribute("theList", ListObject); 
%> 

其他JSP:

<% 
List myList = (List) request.getAttribute("theList"); 
%> 
+2

錯誤。每個HTTP請求都會給你(顯然)一個不同的'request'實例。在這裏瞭解它是如何工作的:http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-session-variables-and-multithreading/3106909#3106909 – BalusC

相關問題