在JSF2 / Primefaces中动态添加/删除组件

时间:2012-03-05 15:27:24

标签: java jsf-2 primefaces partial-page-refresh

我在做一些研究时发现了类似的问题,但没有一个能真正解决我的问题。

我有一个带有一些输入条件和提交按钮的表单。单击“提交”时,会在表单下方填充一个primefaces数据表,并显示一些结果。我需要的是根据输入的数据显示不同的表而不刷新整个页面。例如。如果用户在表单中输入Person作为值,则会显示Person表的结果。但是,如果用户选择公司,则会显示公司的结果及其对应的列。

1 个答案:

答案 0 :(得分:2)

只需使用update属性来更新数据表。此外,您可以使用<p:columns>动态生成列。

<p:inputText value="#{bean.input}" />
<p:commandButton value="submit" action="#{bean.submit}" update="table" />

<p:dataTable id="table" value="#{bean.model}" var="item">
    <p:columns value="#{bean.columns}" var="column">
        <h:outputText value="#{item[column]}" />
    </p:columns>
</p:dataTable>

有类似的东西:

public void submit() {
    model = populateModelBasedOn(input);
    columns = populateColumnsBasedOn(input);
}