【发布时间】:2014-04-26 23:09:41
【问题描述】:
我正在使用我的 jsf 中的参数调用支持 bean 方法
<p:commandLink value="createUserFromSearch" action="#{userBacking.fromUserSearch(searchUserBacking.userSearchWithOptions)}"/>
搜索用户支持
public UserSearch getUserSearchWithOptions(){
//create and return UserSearch Object
}
用户支持
public String fromUserSearch(UserSearch userSearch){
fillViewLabelsFromUserSearch(userSearch);
return "success";
}
导航规则
<navigation-rule>
<display-name>RouteView</display-name>
<from-view-id>/*</from-view-id>
<navigation-case>
<from-action>#{userBacking.fromUserSearch}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/user/userView.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
结果
找不到资源/user/success.xhtml
我调用不带参数的方法的所有导航规则都有效。 为什么不是这个?
【问题讨论】:
-
您是否尝试删除
?如果您正在设置 ,我认为这不是必需的 -
我认为如果我删除
每个返回的“成功”都会重定向到同一页面。 -
因为没有人能回答我这个问题,我通过使用 actionListener AND action 解决了这个问题。在 ActionListener 属性中,我使用 BackingBean 中的参数调用 setter 方法,在 action 属性中,我调用执行逻辑的方法。
-
您可以设置
以使导航特定于该页面;或者您可以使用比“成功”更具体的结果值来避免您提到的问题 -
是的,我知道...我已经在我的示例中设置了它(/* = 从任何视图)
标签: jsf jsf-2 primefaces