web.xml <? xml version="1.0" encoding="UTF-8" ?> < web-app version ="2.4" xmlns ="http://java.sun.com/xml/ns/j2ee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > < 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 > < welcome-file-list > < welcome-file > index.jsp </ welcome-file > </ welcome-file-list > </ web-app > face-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 > < application > < locale-config > < default-locale > en </ default-locale > < supported-locale > zh_CN </ supported-locale > </ locale-config > </ application > < 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 > failure </ 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 > test.UserBean </ managed-bean-class > < managed-bean-scope > session </ managed-bean-scope > </ managed-bean > </ faces-config > JavaBean: package test; public class UserBean ... { private String username; private String password; private String errorMessage; private String locale; public String getLocale() ...{ return locale;}public void setLocale(String locale) ...{ this.locale = locale;}public String verify() ...{ if(!username.equals("admin") || !password.equals("123456")) ...{ errorMessage = "名称或密码错误"; return "failure"; } else ...{ return "success"; } }public String getPassword() ...{ return password;}public void setPassword(String password) ...{ this.password = password;}public String getErrorMessage() ...{ return errorMessage;}public void setErrorMessage(String errorMessage) ...{ this.errorMessage = errorMessage;}public String getUsername() ...{ return username;}public void setUsername(String username) ...{ this.username = username;}} index.jsp <% ... @ page language="java" import="java.util.*" pageEncoding="gb2312" %> <% ... @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 > </ head > < body > < f:view > < h:form > < h:selectOneRadio value ="#{user.locale}" > < f:selectItem itemValue ="zh_CN" itemLabel ="中国" /> < f:selectItem itemValue ="en" itemLabel ="英国" /> </ h:selectOneRadio > < h:messages layout ="table" style ="color:red" /> < h3 > 请输入您的名称 </ h3 > < font color ="red" >< h:outputText value ="#{user.errorMessage}" />< p ></ font > 名称: < h:inputText value ="#{user.username}" required ="true" requiredMessage ="名称必须输入" />< p > 密码: < h:inputSecret value ="#{user.password}" required ="true" requiredMessage ="密码必须输入" validatorMessage ="长度必须大于6位" > < f:validateLength minimum ="6" /> </ h:inputSecret >< p > < h:commandButton value ="送出" action ="#{user.verify}" /> </ h:form > </ f:view > </ body > </ html > welcome.jsp <% ... @ page language="java" import="java.util.*" pageEncoding="gb2312" %> <% ... @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 > </ head > < body > < f:view > < h:outputText value ="#{user.username}" /> 您好! < h:outputText value ="#{user.locale}" /> 您好! < h3 > 欢迎使用 JavaServer Faces! </ h3 > </ f:view > </ body > </ html > 要求用户名,密码必须输入,且密码不能好于6位