首先去 http://java.sun.com/javaee/javaserverfaces/download.html 下载jsf的标准类库,这是sun公司发布的一套类库!当然还有apache的myfaces等,暂时先用标准的类库去操作!
用myeclipse6.0去搭建一个web的工程
然后开始编写一个登录的例子
首先编写web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>JSF</display-name> <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <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>*.jsf</url-pattern> </servlet-mapping> </web-app>
再编写jsf的配置文件 faces-config.xml
<?xml version="1.0"?> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd"> <faces-config> <navigation-rule> <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>fail</from-outcome> <to-view-id>/index.jsp</to-view-id> </navigation-case> </navigation-rule> <managed-bean> <managed-bean-name>user</managed-bean-name> <managed-bean-class> com.vincent.jsf.demo.UserBean </managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>
编写一个 UserBean 的类
package com.vincent.jsf.demo;
import javax.faces.event.ActionEvent;
public class UserBean {
private String name;
private String password;
private String outCome;
private String errMessage;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getOutCome() {
return outCome;
}
public void setOutCome(String outCome) {
this.outCome = outCome;
}
public String getErrMessage() {
return errMessage;
}
public void setErrMessage(String errMessage) {
this.errMessage = errMessage;
}
public void loginIn(ActionEvent e){
System.out.println(name);
System.out.println(password);
if(name != null && name.equals("vincent")){
outCome = "success";
}else{
errMessage = "用户名错误";
outCome = "fail";
}
}
}
做两个jsp文件 index.jsp 和 welcome.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
<h:form>
<h3>登录</h3>
名称:<h:inputText value="#{user.name}"/><p>
密码:<h:inputSecret value="#{user.password}"></h:inputSecret><p/>
<h:commandButton value="送出" actionListener="#{user.loginIn}" action="#{user.getOutCome}"/>
<font color="red"><h:outputText value="#{user.errMessage}"/></font><p>
</h:form>
</f:view>
</body>
</html>
<%@ 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" %>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
<h:outputText value="#{user.name}"/> 您好!
<h3>欢迎使用 JavaServer Faces!</h3>
</f:view>
</body>
</html>