我在 tomcat 6 上有一个带有 mojara EL 2.2 的 JSF 2.0,并且在开发过程中它已经工作了一段时间。我最近添加了一个带有用于登录的命令按钮(基本内容)的表单,它在操作 doLogin 处检查托管 bean 中的用户名和密码。
public String doLogin(){
FacesMessage message = null;
if((username.equals("user"))&&(password.equals("pass")))
return "testpage.xhtml";
else
message = new FacesMessage("Invalid username or password");
FacesContext.getCurrentInstance().addMessage(null, message);
return null;
}
问题是,在它通过 doLogin 并返回“testpage.xhtml”后,会显示相同的页面。即使我在 WebContent 的根目录中拥有所有 xhtml 文件。
在tomcat的控制台中,我得到:
JSF 的 ELResolver 未向 JSP 容器注册。
使用 EL 2.2 传递参数可以正常工作。
我将 JSF 与 Facelets 一起使用。