2015-01-09 9 views
1

내 문제는 약간 복잡하지만 예제를 드리겠습니다.ManagedBean이 다른 MB를 상속합니다. 메인 클래스 JSF를 컴포넌트로 재사용하는 방법?

는 이미 지금은 다른 분야와 함께, UserMB 상속 UserAdmMB을 만들 user.xhtml 페이지 (그것을 사용하는 MB) ​​내가 사용자

<p:outputLabel value="Name:" /> <h:outputText value="#{userMB.bean.name}" /> 
<p:outputLabel value="e-mail:" /> <h:outputText value="#{userMB.bean.email}" /> 
etc... 

을 등록 할 수 있습니다. (다른 액세스 포인트에 사용되는)

<ui:include src="user.xhtml" /> 
<p:outputLabel value="Address:" /> 
<h:outputText value="#{userAdmMB.anotherbean.address}" /> 

그러나 첫번째 XHTML은 이미에서 userMB을 가지고 : 나는 <ui:include>를 사용하여 같은 존재 XHTML을 다시 사용하려는. 어떻게하면 더 좋은 방법일까요?

+0

뒤로 물러나 처음부터 모든 것을 다시 디자인을 재고 해 주시기 바랍니다. – Tiny

+0

@Tiny : 콩 이름에 어색한 "MB"를 제외하고 이것은 무리한 것 같지 않습니까? – BalusC

답변

1

콩을 리 팩터 <ui:param><ui:include>입니다.

새로운

은 다음과 같습니다

<p:outputLabel value="Name:" /> <h:outputText value="#{user.name}" /> 
<p:outputLabel value="Email:" /> <h:outputText value="#{user.email}" /> 
... 

클라이언트들 :

<ui:include src="user.xhtml"> 
    <ui:param name="user" value="#{someBean.user}" /> 
</ui:include> 
<ui:include src="user.xhtml"> 
    <ui:param name="user" value="#{someAdminBean.user}" /> 
</ui:include>