gpt4 book ai didi

java - 如何在没有faces-config.xml文件的情况下基于action方法返回字符串从ManagedBean直接调用xhml页面

转载 作者:行者123 更新时间:2023-12-01 16:18:11 24 4
gpt4 key购买 nike

1。 ManagedBean类

@Named
public class LoginBean{
private String username;
private String password;

private String userType;

// setter getter

public String login() {

...
if(isUserValidate()){
if(userType.equals("HR"){
return "HRHOME";
}

if(userType.equals("ADMIN"){
return "ADMINHOME";
}
if(userType.equals("MANAGER"){
return "MANAGERHOME";
}


}
return "FAILURE";
}
}

2。 xhtml 文件

WebContent\app\common\login.xhtml;
WebContent\app\common\error.xhtml;

WebContent\app\admin\adminHome.xhtml;
WebContent\app\hr\hrHome.xhtml;
....

3。 faces-config.xml

<!-- Case 0  for login user  -->
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>LOGIN</from-outcome>
<to-view-id>/app/common/login.xhtml</to-view-id>
</navigation-case>

<!-- Case 1 if login user is from HR -->
<from-view-id>/app/common/login.xhtml</from-view-id>
<navigation-case>
<from-outcome>HRHOME</from-outcome>
<to-view-id>/app/hr/hrHome.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>ADMINHOME</from-outcome>
<to-view-id>/app/admin/adminHome.xhtml</to-view-id>
</navigation-case>
...
<navigation-case>
<from-outcome>FAILURE</from-outcome>
<to-view-id>/app/common/error.xhtml</to-view-id>
</navigation-case>

正如您在上面的快照代码中看到的那样..

login.xhtml 对所有用户来说都是通用的,根据登录用户验证,将决定结果页面。如果用户属于 HR 那么 app/hr/hrHome.xhtml 将被重定向如果用户属于管理员,则 app/admin/adminHome.xhtml

要求: 我想根据LoginBean类的action方法login()的返回字符串来重定向具体的结果xhtml页面,而不是使用xml配置文件faces-config.xml。

如何使用 Primefaces 和 JSF 来完成此操作?

最佳答案

你可以做类似的事情

 if (isUserValidate()) {
return "/WebContent\app\hr\hrHome.jsf?faces-redirect=true";
} else if(userType.equals("ADMIN"){ {
return "/WebContent\app\admin\adminHome.jsf?faces-redirect=true";
} else if(.......){
.........
}else{
return "/WebContent\app\admin\error.jsf?faces-redirect=true"
}

关于java - 如何在没有faces-config.xml文件的情况下基于action方法返回字符串从ManagedBean直接调用xhml页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62349115/

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