0

我正在尝试在我的 JSF2 facelets web 应用程序中使用 mvc。

这是我的登录控制器:

@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;
        }

    }

}

这是我的登录Bean:

@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 为真时将用户重定向到欢迎页面。有什么想法/提示我应该怎么做?

4

1 回答 1

2

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

@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
  }          
}
于 2013-01-04T13:12:32.877 回答