gpt4 book ai didi

JSF 2.2 导航规则未触发

转载 作者:行者123 更新时间:2023-12-05 00:06:47 25 4
gpt4 key购买 nike

我正在使用来自我的 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>

结果

Ressource /user/success.xhtml not found



我调用不带参数的方法的所有导航规则都有效。
为什么不是这个?

最佳答案

因为没有人能够回答我这个问题,所以我分两步解决了这个问题:

我从 actionListener 属性调用 setter 方法,从 action 属性调用导航/逻辑方法,如下所示:

<p:commandLink value="createUserFromSearch" action="#{userBacking.showFromUserSearch}" actionListener="#{userBacking.setUserSearch(searchUserBacking.userSearchWithOptions)}"/>

搜索用户支持
public UserSearch getUserSearchWithOptions(){ 
//create and return UserSearch Object
}

用户支持
public String showFromUserSearch(){
if(this.userSearch!=null){
fillViewLabelsFromUserSearch(userSearch);
return "success";
}else{
return "false";
}
}

public void setUserSearch(UserSearch userSearch){
this.userSearch=userSearch;
}

导航规则
<navigation-rule>
<display-name>RouteView</display-name>
<from-view-id>/*</from-view-id>
<navigation-case>
<from-action>#{userBacking.showFromUserSearch}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/user/userView.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>

结果

Ressource /user/success.xhtml not found



我调用不带参数的方法的所有导航规则都有效。
为什么不是这个?

关于JSF 2.2 导航规则未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com