我之前编写过Spring MVC Web应用程序,其中有一个前端控制器,我们在每个方法中都有一个请求映射,而这个方法又调用一个服务实现,最后将一个视图返回给UI。现在,当我设计JSF应用程序时,我无法理解流程 - 这就是我目前在申请中的内容:
初始index.html
重定向到登录页面。
用于填充标签值的登录页面的辅助bean。由于它是输入形式,因此不涉及其他逻辑。
用户点击提交后 - >在action方法中,我有一个逻辑,它将调用服务(No.1)进行身份验证过程,并通过返回页面名称将用户重定向到主页
主页显示绑定到辅助bean的各个字段,其字段必须由另一个Web服务调用(No.2)填充。
在步骤(3)和(4)之间,我有一个困惑。以前在Spring中我有一个显式映射,我可以“实际”控制前端控制器方法中的逻辑。在JSF中,我不知道No.2 Web服务调用的逻辑是否应该与身份验证调用结合起来,因为我没有一个方法来填充bean。
就好像我没有对流程的明确控制。我读过很多文章试图理解这一点但却无法理解。请提供我的指示以及一些可以更好地解释这一点的参考资料。
答案 0 :(得分:0)
为什么不能控制JSF bean中的逻辑?使用EJB的示例
@ManagedBean
@RequestScoped
public class LoginBean {
@EJB
private AuthBean authBean;
@EJB
private UserSettings settingsBean;
private String name, password;
@PostConstruct
private void init() {
//do your initialization here
}
public String loginAction() {
User user = authBean.authenticate(user, password);
if(user != null) {
UserSetting settings = settingsBean.getSettings(user.getId());
return "home";
}
}
//setters and getters
}