我在PrimeFaces框架中使用JSF
我有<ui-repeat>
包含<p:fieldset>
,当我使用AJAX查询过滤<p:fieldset>
时,<ui-repeat>
会从页面中消失。
这是我的代码:
<h:form id="myForm1">
<p:panelGrid id="pnlg">
<ui:repeat var="state" value="#{myBean.listState}" varStatus="status">
<p:fieldset id="fieldsetState">
<p:dataGrid id="dataGridState" value="#{myBean.state}">
<p:panel id="pnl">
// some code...
</p:panel>
</p:dataGrid>
</p:fieldset>
</ui:repeat>
</p:panelGrid>
</h:form>
<h:form id="myForm2">
<p:commandButton value="Filter">
// When I run this AJAX query, it is supposed to update 'myForm'. Instead, 'pnlg' disappears
<p:ajax listener="#{ManageState.filterState}" update="myForm1" />
</p:commandButton>
</h:form>
当我运行这个AJAX查询时,它应该更新'myForm'。相反,'pnlg'消失了。我认为这是因为<ui:repeat>
。
这是我的支持Bean:
@ManagedBean
@ViewScoped
public class ManageState extends AbstractManagedBean implements Serializable {
public void filterState() {
// Filter the list...
}
}
@ManagedBean
@SessionScoped
public class myBean implements Serializable {
private List<sortedBean> listState;
// getter, setter...
}
答案 0 :(得分:0)
我解决了这个问题,合并了两个表格并且它有效。但我不确切地知道他为什么会这样做。