0

我之前写过 Spring MVC Web 应用程序,其中有一个前端控制器,我们在每个方法中都有一个请求映射,这个方法反过来调用服务实现,最终将视图返回给 UI。现在,当我设计 JSF 应用程序时,无法理解这样的流程 - 这是我目前在我的应用程序中拥有的:

  1. 初始index.html重定向到登录页面。

  2. 用于填充标签值的登录页面的支持 bean。由于它是一种输入形式,因此不涉及其他逻辑。

  3. 一旦用户在操作方法中单击提交->,我就有逻辑将调用服务(No.1)进行身份验证过程并通过返回页面名称将用户重定向到主页

  4. 主页显示绑定到支持 bean 的各种字段,其字段必须由另一个 Web 服务调用(No.2)填充。

在步骤(3)和(4)之间,我很困惑。以前在 Spring 中,我有一个显式映射,我可以“实际上”控制前端控制器方法中的逻辑。在 JSF 中,我不知道是否应该将 No.2 Web 服务调用的逻辑与身份验证调用结合起来,因为我没有填充 bean 的方法。

就好像我没有对流程的明确控制。我读过很多文章试图理解这一点,但无法理解。请给我指点和一些参考资料,这些参考资料实际上可以更好地解释这一点。

4

1 回答 1

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
}
于 2013-01-24T14:53:05.080 回答