JSF - 没有重新加载内容

时间:2010-12-15 09:32:01

标签: jsf

人们! 我在JSF <h:dataTable>中有一个表,但是当我在我的表中创建一个新的Object(带JPA forward)时,有时会显示但有时不显示。我必须在选项卡中单击以对xhtml的内容进行充值,因为未显示新元素。将对象添加到支持bean的 列表

后,我可以重新加载页面吗?

感谢阅读并抱歉我的英语。

2 个答案:

答案 0 :(得分:0)

除了完全重新加载之外,您无法控制辅助bean中的页面,但如果您在某些操作上创建新对象(例如单击按钮),则可以使用ajax执行以下操作:

<h:commandButton actionListener="#{bean.addNewObject}" value="Add">
  <f:ajax execute="@this" render="tableId" event="click" />
</h:commandButton>

如果您不想使用ajax并重新加载整个页面,请使用commandButton的action参数:

<h:commandButton action="#{bean.addNewObjectAction()}" value="Add"/>

其中addNewObjectAction返回null以重新加载页面。

答案 1 :(得分:0)

显然,您在会话范围中存储数据表的项目列表,而不是在添加新项目时重新加载它。您需要在添加新项目的操作方法中重新加载它。

public void add() {
    saveNewItemInDB(newItem);
    items = reloadListOfItemsFromDB();
}