Primefaces ViewScoped

时间:2014-08-15 13:45:00

标签: jsf primefaces view-scope

我希望在成功操作后清除托管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不会刷新页面。我怎样才能做到这一点。

由于

2 个答案:

答案 0 :(得分:0)

我不知道我是否明白你的问题,我认为你想在保存新记录后刷新页面。您可以使用请求上下文

通过标记您的标记ID,您可以更新所需的内容,如果您想要刷新面板,则可以使用以下代码。

context = RequestContext.getCurrentInstance();
context.update("YOURFORMID:panel1");

答案 1 :(得分:0)

而不是返回空字符串,您可以在成功保存的情况下将用户重定向到同一页面:

FacesContext.getCurrentInstance().getExternalContext().redirect(redirectionPath‌​);