[英]JSF/PrimeFaces - Approaches for creating reusable data table dialogs
我將JSF 2.0與Primefaces一起使用。 我有一個帶有數據表的頁面,該數據表包含系統中的用戶列表。 每個用戶可以有一個角色集合,所以我想有一個按鈕來選擇一堆角色。 我希望這是一個ajax選擇器,並且可以從其他頁面重復使用,所以這就是我的布局方式。
用戶列表頁面
<h:form prependId="false">
<p:dataTable id="userList" var="user" value="#{userBean.users}">
<p:column id="modelHeader">
<f:facet name="header">
Name
</f:facet>
<h:outputText value="#{user.name}" />
</p:column>
<p:column>
<f:facet name="header">
Select Roles
</f:facet>
<p:commandButton id="selectButton" oncomplete="roleDialog.show()" icon="ui-icon-search" title="Select Roles" />
</p:column>
</p:dataTable>
</h:form>
在用戶列表頁面中定義的對話框,但內容將移至包含內容以提高可重用性
<p:dialog header="Roles" widgetVar="roleDialog" resizable="true" id="roleDialog" modal="true">
<h:form prependId="false">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<p:dataTable id="roleList" var="user" value="#{roleBean.roles}">
<p:column id="modelHeader">
<f:facet name="header">
Name
</f:facet>
<h:outputText value="#{role.name}" />
</p:column>
<p:commandButton id="selectButton" actionListener="#{roleBean.selectRoles}" title="Select Roles" />
</h:panelGrid>
</h:form>
</p:dialog>
我的問題是,我不確定如何實現以下目標。
在JSF中實現此工作流程的最佳模式是什么。 我不想在每個頁面中重復我的角色選擇器,因為我想重復使用它。 感謝您耐心閱讀這篇長文章。 感謝您的回應和建議。
最好的模式是實現一個復合組件 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.