将参数从bean传递到导航视图

时间:2015-04-21 07:53:50

标签: jsf jsf-2 primefaces navigation parameter-passing

我现在做的事情:

调用动作方法

            <p:commandButton value="Fine"  
                             action="#{dtIndexBean.forwardAction}"  
                             styleClass="ui-priority-primary" 
                             ajax="false">  
                    <f:param name="result" value="fine"/>  
            </p:commandButton>
在forwardAction方法中

,如果验证正常,则验证输入并转发到另一个视图

        String result =  FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("result");

            if (result.equals("wrong")) {
                System.out.println("WRONG!!");

            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, 
                            "", "WRONG!!"));
            return "";

        } else{
            paramBean.putForwardParameter("message", "Hello!");
            return "forwarded.xhtml";
        } 

我需要将一些参数传递给转发视图,现在我将它们放在会话bean中(这里的名称是&#34; paramBean&#34;)所以我可以在转发视图的支持bean中读取它们: / p>

String message;

    @PostConstruct
    private void init(){
        message = paramBean.getParameter("message");
        paramBean.clearForwardParameter();
    }

由于存在额外的豆子,我觉得这很笨拙。是否有一种不那么笨拙的方法呢?

0 个答案:

没有答案