2014-03-26 2 views
3
<p:commandButton value="Get Name List" update="nameinfo"/> 
<p:dataTable id="nameinfo" var="nam" value="#{namefinder.dofind}"></p:dataTable> 
+0

모든 'xhtml'을 쓸 수 있습니까? –

+0

예 매튜 록 – user3463207

답변

2

이는 JSF가 작동하는 방식이며 Java Bean 원칙에 따라 정확합니다. 호출자가 원하는만큼 Getter를 여러 번 호출 할 수 있습니다.

value 속성이 p:dataTable 인 경우 getter 메소드가 필요하며 해당 메소드를 여러 번 호출합니다. getter가 호출되는 횟수를 보장 할 수는 없습니다. 대신 getter 메소드에서 논리를 사용하지 않아야합니다.

대신 p:commandButton에서 호출 할 메소드를 제공하고 거기에서 컬렉션을 새로 고칩니다. dofind은 행 목록이있는 JavaBean의 필드 여야합니다. 논리가 없어야합니다.

+0

나는 대체 방법으로 이미 그렇게하고있다. 그러나 나는 이것이 왜 이렇게하고 있는지 이해하지 못했습니다. 이제 나는 지워졌습니다. 루카스 (Lukasz). – user3463207

+0

흠, 이상 하네! 나는 비슷한 것을했고 값 메서드를 한 번만 실행합니다. – Cold

+0

@ColdHack getter가 한 번 또는 10 번 호출되는 것은 아닙니다. JSF 코드는 getter에 대한 후속 호출을 막지 않기 때문에 무거운 계산을 사용하지 않아야합니다. –

관련 문제