2011-02-02 5 views
4

인사말, 여기에 문제가 있습니다.jsp : param이 컬렉션을 저장할 수 있습니까?

<c:forEach var = "pack" items = "${packingList}"> 
<!--Here goes something with outputting the pack instance in a required format--> 
</c:forEach> 

모든 것이 잘 작동하고 packingList이 페이지를 호출하는 액션 핸들러의 요청의 속성으로 전달되는 매개 변수 : 나는 모음과 함께 작동 entList.jsp라는 페이지를 가지고 . 실제로 packinglist의 형식은 입니다. <GenericBean>입니다.

이 페이지 (실제로 저장되는 조각)는 실제로 매우 유용하며 여러 모음으로 여러 곳에서 사용할 수 있습니다. 지금이 조각은 인수 packingList 표시되지 않습니다, 그러나

<jsp:include page="entList.jsp"> 
    <!-- Pass the required collection as a parameter--> 
    <jsp:param name = "packingList" value = "${traffic.packingList}"/> 
</jsp:include> 

: 그래서 내가 (다른 페이지에서)이 같은이 페이지를 포함하려고 노력했다.

<c:forEach var = "pack" items = "${param.packingList}"> 
<!--Here goes something with outputting the pack instance in a required format--> 
</c:forEach> 

을하지만 문자열이 아닌 컬렉션으로 packingList을 취급하기 때문에 지금은, 예외를 생성 : 나는 (지금은 매개 변수가 이후)이 같은 조각을 다시 작성했습니다. 그래서 지금이 솔루션은 다음과 같이이다 - 액션 핸들러 코드의 속성으로 필요한 컬렉션입니다 :

// This is the original instance set by the action 
request.setAttribute("traffic", traffic); 
// And this is the additional one, to be used by entList.jsp 
request.setAttribute("packingList", traffic.getPackingList()); 

그래서 질문은 - JSP 수 있습니다 : 그것은 가치의로 PARAM 태그 컬렉션을받을 수? JSP 태그에 대한 문서를 읽었는데 명확하지 않은 채로 남아 있습니다. 문자열 매개 변수 (또는 문자열로 변환 될 수있는 무언가)와 같은 방식으로 전달할 수 있지만 복잡한 객체는 전달할 수없는 것처럼 보입니다.

답변

6

태그 파일을 사용하고 올바른 매개 변수 유형으로 태그를 선언해야합니다.

예컨대 packingList.tag 다음

<%@tag %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@attribute name="packingList" required="true" type="java.util.Collection<Packing>" 
     description="the packing list." %> 
<c:forEach var = "pack" items = "${packingList}"> 
<!--Here goes something with outputting the pack instance in a required format--> 
</c:forEach> 

로, 다음 WEB-INF/tags

에서이 파일을 배치,

<%@ taglib tagdir="/WEB-INF/tags" prefix="pack" %> 

<pack:packingList packingList="${packingList}"/> 

더 많은 정보를 원하시면

에 대한 http://download.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html를 참조하여 JSP 파일에 추가
관련 문제