【问题标题】:Primefaces ViewScopedPrimefaces ViewScoped
【发布时间】:2014-08-15 13:44:59
【问题描述】:

我希望在成功操作后清除我的托管 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,我的保存方法是

public String save() {
    //do some save stuff
    try{
        myEjb.save();
        return "";
    } catch (EJBException ejbe) {
        mesajYazKaydetmeHatali(ejbe);
        ejbe.printStackTrace();
    }
    return null;
 }

虽然我在成功保存后返回"",但我认为PF不会刷新页面。我怎样才能做到这一点。

谢谢

【问题讨论】:

  • 谢谢它对我有用。
  • 我很高兴。我会把它写成一个单独的答案。

标签: jsf primefaces view-scope


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2013-09-30
      • 2012-08-27
      • 2012-04-14
      • 2013-12-13
      • 2012-07-12
      • 1970-01-01
      相关资源
      最近更新 更多