내 관리 빈 :를 ForEach 및 Facelets의
public List<String> getLiQuickNav(){
System.out.println("I'm here...");
List<String> l = new ArrayList<String>();
l.add("toto");
l.add("tata");
l.add("titi");
return l;
}
내 대해 forEach :
<c:forEach var="categorie" items="#{mainControleur.liQuickNav}">
<h:outputLabel value="${categorie}"/>
</c:forEach>
내 출력 스트림 : 내가 여기
내가 여기
...
나는 여기에 ...
나는 여기에있다 ...
"getLiQuickNav()"는 ForEach에서 4 회 호출합니다. 그러나 나는 단지 "getLiQuickNav()"를 한 번 호출하는 것을 wan't하지 않습니다 ... 어떻게 한 번 호출해야합니까?
보너스 질문 : "getLiQuickNav()"는 (는) 3 시간 동안 'tata, titi, toto'만 가져 오는 이유는 무엇입니까?
감사의
나는 위와 같은 것이 일반적으로 좋은 습관이라고 생각하지 않습니다. 3 가지 항목으로 무언가를 초기화 할 이유가 없습니다. 생성자 또는 정적 블록에서 목록을 구성합니다. – GreenieMeanie
@GreenieMeanie - 이것은 분명히 간단한 예제입니다. 실제 목록 데이터는 개체 구성이나 정적 블록 초기화 (예 : 데이터베이스와 같은 일부 외부 소스에서 가져온 경우)에서 사용할 수 없습니다. 대답은 getLiQuickNav()를 호출 할 때마다 목록을 구성해서는 안된다는 것을 설명하기위한 것입니다. – mtpettyp