2012-09-26 5 views
1

.jsp에서 내 서블릿으로 List를 전달해야하며이를 URL을 통해 처리하려고합니다. -JSP의 URL에 List as 매개 변수를 전달할 수 있습니까?

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

여기서 'content'는 List입니다. 내 서블릿에서이 목록의 요소를 가져오고 싶습니다.

또는 개별 매개 변수를 '&'으로 분리하여 전달할 수 있습니까?

+1

URL에 목록 요소가 있으면 좋은 방법이 아닙니다. JB Nizet과 마찬가지로 쿼리 문자열의 길이는 제한되어 있습니다. List를 .jsp에서 서블릿으로 전달해야한다고 말했습니까? jsp와 servlet간에 객체를 전송할 때 ModelAttributes를 사용하십시오. 이는 더 명확합니다. 왜 당신은 그것을 URL에서 갖는 것을 선호합니까? –

답변

12

목록의 요소 당 하나의 매개 변수가 필요합니다. 이 같은 모든 목록 요소를 얻을 것이다, 서블릿에서

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

: 그리고이 모든 매개 변수는 같은 이름을 가지고 있어야

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

가주의 : 쿼리 문자열의 길이가 제한됩니다. 이런 식으로 많은 수의 값을 전달하지 마십시오.

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

다른 JSP :

<% 
List myList = (List) request.getAttribute("theList"); 
%> 
목록에

JSP :

+0

안녕하세요 매번이 절차를 통해 단일 값을 evean에 전달할 때마다 일식이 중단되고 tom cat을 다시 실행하기 위해 포트 번호를 수정해야합니다. 나는 어떻게해야합니까? - 고마워요 –

-1

다른 JSP에 개체를 얻으려면 HttpServletRequest의 객체에 추가 할 scriplet를 사용하여 필드 속성입니다
+2

틀렸어. 각각의 HTTP 요청은 (분명히) 다른 '요청'인스턴스를 제공합니다. 어떻게 작동하는지 여기에서 배우십시오 : http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-session-variables-and-multithreading/3106909#3106909 – BalusC

관련 문제