如何重置primefaces向导的步骤?

erg*_*ran 5 ajax jquery jsf hibernate primefaces

<p:wizard>一步一步地使用primefaces 和i registiration.如果注册成功结束,向导的步骤是第一个,但如果我继续新记录或用户,向导无法添加新记录.我正在更新以前的记录/用户.我怎么做系列中添加新记录?另一个问题; 当它返回到第一步时,它无法重置该字段.我可以这样做吗?它的提交按钮的代码;

<p:commandButton immediate="true" value="Submit" update="@parent,wiz1,growl,panel"
                            actionListener="#{OgrenciKayit.save}" oncomplete="wiz.loadStep (wiz.cfg.steps [0], true)" />
Run Code Online (Sandbox Code Playgroud)

如果向导提交,它返回到第一步.

oncomplete="wiz.loadStep (wiz.cfg.steps [0], true)"
Run Code Online (Sandbox Code Playgroud)

和actionListener

public void save(ActionEvent actionEvent) {
        tx = session.beginTransaction();
        session.save(ogrenci);
        tx.commit();
        FacesMessage msg = new FacesMessage("Ba?ar?l?", "Ho?geldin :"
                + ogrenci.getAd());
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
Run Code Online (Sandbox Code Playgroud)

等待你的想法...(附加信息我使用Jsf 2.2,Tomcat 7.0.50,Hibernate 4.3.5.final,Primefaces,Shiro)

小智 8

<p:wizard widgetVar="wiz">
   <p:tab id="tab0">  ...  </p:tab>
   <p:tab id="tab1"> ...
      <p:commandButton value="Jump to tabId"
          actionListener="#{actionTodo.jump}"
          oncomplete="PF('wiz').loadStep('tab0', false)" />
   </p:tab>
 </p:wizard>
Run Code Online (Sandbox Code Playgroud)

这适用于PrimeFaces 5.0.请注意,您只需要将tabId提供给loadStep方法.我们也应该打电话给PF "PF('widgetVarId')".


小智 3

org.primefaces.context.RequestContext

RequestContext context = RequestContext.getCurrentInstance();
context.reset("myForm");
Run Code Online (Sandbox Code Playgroud)