単一のフォームで他のコントロール (送信ボタン) と一緒に、primefaces データテーブル ページネーションを使用しています。問題は、データテーブルを含むフォームに他のコントロール (送信ボタン) を含めると、ページネーションが機能しなくなることです。このフォームから他のコントロールを除外すると、ページネーションは正常に機能します。
これが私のxhtmlです:
<table id="content_tbl">
<h:form>
<tr>
<td id="content_tbl_row_first_menu">
<h:commandButton action="#{roleBean.navigateToAdd}" alt="Add" image="../css/images/20x20/Plus.png"
rendered="#{policyBean.userAllowedToAddRole}" title="Add" />
</td>
</tr>
<tr>
<td id="content_tbl_row_third_list">
<p:dataTable id="dtbl_role" var="role" value="#{roleBean.roles}" dynamic="true"
paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
<f:facet name="header">
Roles
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="Role" />
</f:facet>
<h:outputText value="#{role.name}" />
</p:column>
</p:dataTable>
<p:growl id="messages" />
</td>
</tr>
</h:form>
</table>
ここに私の豆があります:
public class RoleBackingBean extends Role implements Serializable{
/**
* Navigate to add page
* @return
*/
public String navigateToAdd() {
return "navigate_to_add";
}
public List<Role> getRoles() {
return new RoleHomeImpl().getRoleList();
}
}
さらにコードが必要な場合はお知らせください。どんな助けでも大歓迎です。
ウマル