2011-09-08 6 views
9

w.r.t. 메타 데이터를 여부 : How to execute action on GET request with f:viewParam?장소 f : 이벤트가 f : 메타 데이터 내부에 있는지 여부는 중요합니까?

<f:metadata> 
    <f:viewParam name="id" value="#{tInputBean.id}" /> 
    <f:event type="preRenderView" listener="#{tInputBean.init}" /> 
</f:metadata> 

은 내가 preRenderViewf:event이 F 내부에 배치되는 경우가 중요 여부를 알고 관심이 있어요. Java EE6 튜토리얼, Java Server Faces 2.0 Complete Reference 및 Core JSF2를 확인했는데 f : metadata 내부에 f : event 예제가없는 것은 아니지만 이와 같은 온라인 예제를 많이 보아 왔습니다.

JSF2 Compl.Ref 말한다 p.540

은 F : 메타 태그는 F의 자식 Facelet 뷰 메타 을 지정하므로 있어야 사용 엘리먼트 세트를 캡슐화 : 보기 태그와 템플릿에 표시되지 않을 수 있습니다. JSF2.0부터이 태그의 유일한 목적은 f : viewParam 태그를 캡슐화하는 것입니다. 메타 데이터는 특별한 의미를 가지고, 또는 그냥 f를 함께 그룹을하는 것입니다 : f를 내부 : (viewParam 종종 F를 지원하는 데 사용) 이벤트 :

f를 배치 하는가 viewParam를 시각적으로/논리적으로?

답변

8

아니요, <f:event>을 정확히 넣지 않아도됩니다. <f:metadata>. 모든 구성 요소에 연결할 수 있습니다. 실제로 <f:viewParam>의 무리가있을 때마다 <f:metadata> 안에 배치 된 순수 자체 다큐 멘 테이션 목적이며 모든 뷰 매개 변수를 설정 한 후에 <f:event>에 액션을 호출하고 싶습니다. 심지어 <f:viewParam>의 앞/뒤에 배치 할 수도 있지만 코드가 더 문서화되지는 않습니다.

곧 출시 될 JSF 2.2에서 새로운 <f:viewAction> 태그가 추가되어 <f:metadata>에있는 <f:event type="preRenderView">을 대체하게됩니다.

+0

감사합니다. BalusC. 나는 그 후로 f : event가 템플릿의 메타 데이터 (only) 안에 있는지 여부가 중요하다는 것을 발견했다 : http://stackoverflow.com/questions/11069484/jsf-fevent-prerenderview-in-template -fmetadata-listener-not-being-called-on-e –