我希望在成功操作后清除托管bean。我使用PrimeFaces5.0作为网页。这是一个街区。我使用partialSubmit和process只提交表单的一部分。
<p:panel id="panel1">
...
<p:commandButton id="saveButton" value="Save"
action="#{myBean.save}"
update="msg" partialSubmit="true" process="panel1" />
</p:panel>
我将@viewScoped用于托管bean,我的save方法是
public String save() {
//do some save stuff
try{
myEjb.save();
return "";
} catch (EJBException ejbe) {
mesajYazKaydetmeHatali(ejbe);
ejbe.printStackTrace();
}
return null;
}
虽然我在成功保存后返回“”,但我认为PF不会刷新页面。我怎样才能做到这一点。
由于
答案 0 :(得分:0)
我不知道我是否明白你的问题,我认为你想在保存新记录后刷新页面。您可以使用请求上下文
通过标记您的标记ID,您可以更新所需的内容,如果您想要刷新面板,则可以使用以下代码。
context = RequestContext.getCurrentInstance();
context.update("YOURFORMID:panel1");
答案 1 :(得分:0)
而不是返回空字符串,您可以在成功保存的情况下将用户重定向到同一页面:
FacesContext.getCurrentInstance().getExternalContext().redirect(redirectionPath);