JSF页面上的CRUD接口未更新以反映新实体的添加

时间:2013-07-10 11:57:52

标签: hibernate jsf primefaces

这是我第一次同时使用JSF,Hibernate和Primefaces。我的CRUD在新类别对话框上有一个提交按钮。按钮编码如下:

 <p:commandButton value="Submit" update=":form:categoryTable"
                                 actionListener="#{categoryController.addCategory}"/>

现在,应该使用添加到模型中的新元素更新categoryTable。但事实并非如此?问题最有可能是什么?

此外,一旦添加了新类别,点击提交对话框不会使其消失。我可以看到模型中出现的类别,但我希望对话框消失,以明确该类别已被接受。如何启用此功能。目前,您必须按“x”按钮才能关闭。

更新

这是将新记录添加到我的模型中的代码,现在也添加到我的列表中。

public void addCategory() {
    categoryRepository.insert(newCategory);
    categories.add(newCategory);
}

1 个答案:

答案 0 :(得分:0)

老实说,我不明白你的问题。但是,来吧 我想你要显示一个Dialog。

        <p:commandButton id="searchCommandButton" icon="ui-icon-search"
            oncomplete="dialog.show()" value="Mostrar Dialog" update="dataTable"
            actionListener="#{categoryController.addCategory}" />

    <p:confirmDialog id="dialog"
        message="#{wds['dialog.deleteConfirmation.message']}"
        header="#{wds['dialog.deleteConfirmation.header']}"
        widgetVar="dialog" appendToBody="true">
        <p:commandButton id="okCommandButton" onclick="dialog.hide()"
            value="Ok" type="button" />
    </p:confirmDialog>



public void addCategory() {
    categoryRepository.insert(newCategory);
    categories.add(newCategory);
    newCategory = new Category();
}