我现在做的事情:
调用动作方法
<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();
}
由于存在额外的豆子,我觉得这很笨拙。是否有一种不那么笨拙的方法呢?