<f:paramview>重定向消息</f:paramview>

时间:2014-01-30 14:44:13

标签: jsf-2

我有一个JSF 2.1,Primefaces 4.0 Web应用程序,我希望将一些GET值传递给托管bean。为此,我使用了:

<f:metadata>
  <f:viewParam name="id" value="#{myMB.queueId}" required="true" requiredMessage="This field is required" converter="javax.faces.Integer" converterMessage="Cannot Convert"/>
  <f:event type="preRenderView" listener="#{myMB.init}" />
 </f:metadata>

和托管bean:

public MyMB{

    private Integer queueId;
    // setters and getters....

public void init(){

  FacesContext fc = FacesContext.getCurrentInstance();
  if(!fc.isPostback()){

   if(fc.isValidationFailed()){
    //if validation fails i want to add here a message - Ideally to keep the validation/convertion errors declared in f:viewParam....

    FacesMessage fm = new FacesMessage(..put validation error message here...)
    fc.add(null,fm);

    try {
     fc.getExternalContext().redirect("viewQueues.xhtml?faces-redirect=true");
    } catch (IOException e) {
     e.printStackTrace();
    }
   }             
  }

 }
}

所以我想在重定向的页面上发送验证错误 我也尝试过:

context.getExternalContext().getFlash().setKeepMessages(true);

但在重定向页面上我没有收到任何消息。我必须在这里提到我的viewQueues.xhtml上有一个应该显示错误的标签。
有办法实现吗?

0 个答案:

没有答案