2011-10-22 1 views
2

UI의 문서 출력에 반복 : JSF 2.0의 반복 태그는가 ResultSet하지만 내 코드를 반복 할 수 있다고 :UI를 사용 : ResultSet의

javax.faces.FacesException: Iteration start index is greater than the number of available rows. 
    at com.sun.faces.facelets.component.UIRepeat.validateIterationControlValues(UIRepeat.java:682) 
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:505) 
    at com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:974) 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) 
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) 
+0

적어도 이것은 빈'ResultSet'에서 발생하는 것으로 보입니다. 이 경우에는 반복하지 않기를 기대하지만 예외는 throw합니다. –

답변

1
:

<ui:repeat value="#{bean.resultSet}" var="row" varStatus="status"> 
    #{row.string("mySQLColumn")} 
</ui:repeat> 

이 오류가 발생합니다

반복을위한 인수로 지원되는 것 같지만 먼저 List으로 변환 한 다음 반복하는 것이 가장 좋습니다.

그런 식으로 데이터베이스 액세스 기술을 뷰 계층에 전파하지 않을 것입니다.

+1

문서에 value 속성에 ResultSet이 포함되어 있다고하는 이유는 무엇입니까? http://download.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/ui/repeat.html – Adam

+0

흠, 흥미 롭습니다. 그것은 할 수있는 것처럼 보이지만 그것을 뷰 레이어에 전달하지 않는 것이 가장 좋습니다. – Bozho