JSF2 facelets和mvc

时间:2013-01-04 13:09:21

标签: jsf jsf-2

我正在尝试在我的JSF2 facelets webapplication中使用mvc。

这是我的logincontroller:

@ManagedBean
@ApplicationScoped
public class LoginControllerImpl implements LoginController{

    @ManagedProperty(value = "#{applicationBean}") 
    private ApplicationBean applicationBean;

    @Override
    public boolean checkLogin(String username, String password) {
        Store store = applicationBean.getStore(); //my model and my data are in this object

      try {
            store.checkLogin(username, password);
            return true;
        } catch (LoginException ex) {
            return false;
        }

    }

}

这是我的loginBean:

@ManagedBean
@SessionScoped
public class LoginBean implements Serializable{

    @ManagedProperty(value="#{loginController}")
    private LoginController loginController;
   private String username;
    private String password;

    public void checkLogin(){
        loginController.checkLogin(username, password);
    }          
}

现在我想在checklogin为true时将用户重定向到欢迎页面。任何想法/提示我应该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用implicit navigation,只返回您要访问的页面(相对于当前网址)

@ManagedBean
@SessionScoped
public class LoginBean implements Serializable{

  @ManagedProperty(value="#{loginController}")
  private LoginController loginController;
  private String username;
  private String password;

  public String checkLogin(){
    if (loginController.checkLogin(username, password)) {
      return "welcome.xhtml";
    }
    return null; // won't change page
  }          
}