C : 목록을 사용하는 foreach : 컬렉션,지도, 배열 또는 null로 평가해야합니다.

StackOverflow https://stackoverflow.com/questions/997885

문제

그래서 나는 a를 고치려고합니다 List<MyClass> 스프링 웹 플로우 응용 프로그램을 볼 때 표시됩니다. 그러나 오류는 컬렉션, 맵, 배열 또는 null로 평가해야합니다.

    <c:forEach items="#{orderedStuff}" var="a">
    #{a.PrettyName}test
    </c:forEach>

나는 또한 #대신 $를 시도했습니다.

다음은 내 XML 흐름 정의입니다.

<view-state id="bookToc">
    <on-render>
        <evaluate expression="stuffService.getOrderedStuff(stuff)" result="viewScope.orderedStuff"
            result-type="dataModel" />
    </on-render>
</view-state>

그리고 섹션 목록을 반환하는 함수.

public List<Stuff> getStuff(Stuff stuff) {
    final List<Stuff> orderedStuff= new ArrayList<Stuff>();

    final List<Stuff> sections = stuff.getStuff();
    PropertyComparator.sort(sections, new MutableSortDefinition("sortOrder", true, true));

    for (Section stuff : stuffs) {
        orderedStuff.add(stuff);
        this.addSubsectionsToOrderedStuff(stuff, orderedStuff);
    }

    return orderedStuff;
}

그것에 대한 것은이 코드가 작동한다는 것입니다.

<h:dataTable id="stuffList" value="#{orderedStuff}" var="s"
            rendered="#{not empty orderedStuff}">
            <h:column>
                <f:facet name="header">
                    Section Title
                </f:facet>
                #{s.prettyName}
                <h:dataTable value="#{s.chapters}" var="c" rendered="#{not empty s.chapters}">
                    <h:column>
                        <f:facet name="header">
                        Chapter Title
                        </f:facet>
                    #{c.title}
                    </h:column>
                </h:dataTable>              
            </h:column>
        </h:dataTable>  
도움이 되었습니까?

해결책

나는 당신이 만들고있는 범위에서 전화해야 할 것 같아요

노력하다

 <c:forEach items="#{bookTok.orderedStuff}" var="a">

그리고 왜 당신의 목록이 최종입니까?

다른 팁

나는 추측한다 <c:forEach... 이러한 유형 중 하나가 필요합니다. 배열로 변환 한 적이 있습니까?

// Create an array containing the elements in a list
Stuff[] array = (Stuff[])orderedStuff.toArray(new Stuff[orderedStuff.size()]);

나는 잠시 Java에서 일하지 않았다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top