2014-02-17 5 views
0

클래스 룸의 ArrayList가 있습니다. jsp에서 서블릿으로 보내야합니다.jsp에서 서블릿으로 클래스의 ArrayList 전달하기

<input type="hidden" name="allRooms" value="<%=request.getAttribute("allRooms") %>" /> 

그러나에 다음과 같이

그것은 서블릿에 값을 보낼 수있는 HTML 또는 JSP가 양식있는 유일한 방법을 보인다

, 나는 시도 방법은 숨겨진 매개 변수로 전달하는 것이 었습니다 아래 그림과 같이 그냥 먼저 개체 유형에 매개 변수를 변환

List<Room> allRooms=(List<Room>)request.getParameter("allRooms"); 

다음 목록으로 변환 : 컴파일 오류는 다음과 같은 사항에 대해 "문자열 목록에 변환 할 수 없습니다"서블릿있는 나는이 양식을 얻을 제출 동일한 예외가 있지만 이번은 런타임 예외로 나타납니다.

Object a=(Object)request.getParameter("allRooms"); 
List<Room> allRooms=(List<Room>)a; 

List를 서블릿에 전달할 방법이 있습니까? 아니면 JSP에서 세션 변수로 설정해야합니까?

미리 감사드립니다.

+1

jsp는 HTML을 출력합니다. 브라우저가 양식을 제출하면 HTML에 텍스트 값이있는 HTTP 요청을 보냅니다. 이 시점에는 관련된 Java 객체가 없습니다. –

답변

2

List를 서블릿에 전달할 방법이 있습니까? 아니면 JSP에서 세션 변수로 설정해야합니까?

session을 사용하는 것이 가장 좋은 해결책입니다.

ArrayList을 HTML 형식으로 보내려면 HTML로 표현할 방법이 없습니다. 대신 session을 사용하십시오.

0

나는 다음과 같은 PARAMS를 통과하면 생각하고, 당신이 할 수있는 배열은

param[0]=ss , param[1]=ssw 
서블릿 측에 형성된다.

List<String> roomParams =(List<String>)request.getParameter("param"); 

하지만 이렇게하려면. 내가 생각

List<Room> allRooms=(List<Room>)request.getParameter("allRooms"); 

수 없습니다, 그래서 당신은 당신이 직접 ListServlet에를 전송하지 않아야 및 기타 옵션에 주목한다고 생각 세션

session.setAttribute("allRooms", new ArrayList<Room>()); 
+0

요청 속성이 적합하지 않습니다. –

+0

맞습니다. 사용자가 페이지를 변경하면 사라지는 요청 대신 세션을 사용하도록 내 응답을 업데이트하십시오. – Koitoer

+0

요청 속성을 사용하는 경우 request.getRequestDispatcher를 통해 보내야하고 양식 입력이 전송되지 않습니다. 또한 양식을 통해 세부 사항을 보내고 있습니다. 그래서 그 중 하나를 양식 세부 정보 또는 목록.둘 다 보낼 수 없다! 세션을 사용하는 것이 유일한 해결책이라고 생각합니다! 감사. – Crusaderpyro

0

속성 사용해야합니다.

브라우저 페이지에 ArrayList을 어떻게 생성합니까? UI의 다중 선택 요소에서 생성 된 경우 Array의 요청 매개 변수 값에 Servlet으로 액세스 할 수 있습니다.

Shishir

관련 문제