第一个Jsf程序

阅读更多

1.新建工程,并导入Jsf需要的jars:

* jsf-impl.jar 
* jsf-api.jar
* commons-digester.jar 
* commons-collections.jar 
* commons-beanutils.jar 
* jstl.jar 
* standard.jar

2.配置web.xml,将请求交由FacesServlet处理。


  jsf
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
    Faces Servlet
    
            javax.faces.webapp.FacesServlet
        
    1
  
  
    Faces Servlet
    *.faces
  

在上面的定义中,我们将所有.faces的请求交由FaceServlet来处理,FaceServlet会唤起相对的.jsp网页,例如请求是/index.faces的话,则实际上会唤起/index.jsp网页,完成以上的配置,您就可以开始使用JSF了。

3.新建一个Bean,存储用户信息(name和password)
UserBean.java:

package com.jsf.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.faces.event.ValueChangeEvent;
import javax.faces.event.ValueChangeListener;
import javax.faces.model.SelectItem;
import javax.swing.JOptionPane;

public class UserBean {
	private String name;
	private String password;
	private String errMsg;
	
	public UserBean() {
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getErrMsg() {
		return this.errMsg;
	}

	public void setErrMsg(String errMsg) {
		this.errMsg = errMsg;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	/**
	 *校验用户名和密码的方法。
	 */
	public String verify() {
		System.out.println("name:" + name + ",password:" + password);
		if (name.equals("admin") && password.equals("123456")) {
			return "success";
		} else {
			errMsg = "用户名或密码错误!";
			return "failure";
		}
	}
}

4.接下来设计页面流程,用户在index.jsp中输入用户名和密码,单击登陆按钮,通过UserBean的verify()方法检验,校验通过(返回success),则跳转到欢迎页面(welcome.jsp)
index.jsp:
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 	<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
 <%@page contentType="text/html;charset=gb18030"%>

	
	
	
	
	

请输入用户名和密码

用户名:
密码:
welcome.jsp:
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 	<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
 <%@page contentType="text/html;charset=gb18030"%>



欢迎
5.为了让JSF知道我们所设计的Bean以及页面流程,我们定义一个/WEB-INF/faces-config.xml:


 

 
    
        /pages/index.jsp
        
            success
            /pages/welcome.jsp
        
         
            failure
            /pages/index.jsp
        
    

    
        user
         
             com.jsf.test.UserBean
         
        session
    
 
中,我们定义了页面流程,当请求来自中指定的页面,并且指定了中的为success(即校验通过)时,则会将请求导向至所指定的页面welcome.jsp,当中的为failure(即校验失败)时,则跳转回index.jsp。

中我们可以统一管理我们的Bean,我们设定Bean对象的存活范围是session。

 

6.接下来,将应用部署到tomcat,启动tomcat,并访问http://localhost:8080/工程名/pages/index.faces就可以了。



你可能感兴趣的:(jsf)