1、创建JSF项目
我使用的是myeclipse开发工具
①新建一个web项目
②在项目上右键——Myeclipse——Add JSF Capabilities
完成后项目结构如下图所示:
jsf所需的jar包自动加载
配置文件是faces-config.xml和web.xml
web.xml
...
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
...
javax.faces.webapp.FacesServlet为JSF默认的Servlet,拦截所有以faces结尾的url
2、第一个简单JSF项目
功能:包含登录界面与登录成功界面,如果登录成功则显示登录成功界面;失败则返回登录界面并有错误提示。
项目结构如下:
①创建javaBean
代码如下:
package beans;
public class UserBean {
private String name;
private String password;
private String errEessage;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getErrEessage() {
return errEessage;
}
public void setErrEessage(String errEessage) {
this.errEessage = errEessage;
}
public String verify() {
// TODO Auto-generated method stub
if(name.equals("admin")&&password.equals("admin")){
return "success";
}else {
errEessage="用户名或密码错误";
return "failure";
}
}
}
②jsp代码(为了看起来方便删掉了部分可有可无的代码)
index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
<h:form>
<h:outputText value="#{user.errEessage }"></h:outputText>
<h3>请输入您的名称</h3>
名称:<h:inputText value="#{user.name }" />
<br>
密码:<h:inputText value="#{user.password }" />
<br>
<h:commandButton value="送出" action="#{user.verify }" />
</h:form>
</f:view>
</body>
</html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>欢迎界面</title>
</head>
<body>
<f:view>
<h:outputText value="#{user.name },你好 "/>
</f:view>
</body>
</html>
③配置文件
faces-config.xml
...
<navigation-rule>
<!-- 固定jsp发出的请求 -->
<from-view-id>/index.jsp</from-view-id>
<!-- 根据返回值判断返回的视图 -->
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failure</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<!-- 配置javabean -->
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>beans.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
...