JSF入门之helloworld

一 什么是JSF:

JSF是JCP开发的一种Java标准,用于构建web应用程序新标准的Java框架,他提供了一种以组件为中心来开发Java web用户界面的方法,从而简化了开发。


二 JSF体系结构:

JSF的主要优势就是它是严格遵循“ 模型 - 视图 - 控制器 ” 即MVC设计模式的框架, 用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使JSF应用程序更易于管理。所有与应用程序交互的访问都交由FacesServlet(控制器)来处理。


三 JSF小例子:

1. 代码结构及Jar包:



2. 配置web.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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" version="2.4">

	<description>JSF Demo</description>
	<display-name>JSF Demo</display-name>
	<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.html</welcome-file>
	</welcome-file-list>
</web-app>
FacesServlet是整个应用的前端控制器, 所有的请求都通过FacesServlet来处理。

上面的配置中,我们将所有的.faces的请求交由FaceServlet来处理,FaceServlet会找到对应的jsp页面

例如:如果请求是/index.faces的话,它会帮我们找到/index.jsp页面


3. 创建受管Bean :充当控制器的角色

public class User {
	private String username;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}

4. 配置faces-config.xml文件,该文件放置在WEB-INF下配置受管理的后台Bean:

<?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>login</from-outcome>
			<to-view-id>/hello.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>

	<managed-bean>
		<managed-bean-name>user</managed-bean-name>
		<managed-bean-class>com.zdp.domain.User</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

5. 开发基于JSF的用户界面

(1)第一个页面: 用户登录 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=utf-8"%>
<html>
<head>
<title>hello, JSF</title>
</head>
<body>
	<f:view>
		<h:form>
			<h3>please input your name</h3> 
			<h:inputText value="#{user.username}" /><p>
			<h:commandButton value="submit" action="login" />
		</h:form>
	</f:view>
</body>
</html>


(2)第二个页面: 登录成功页面 hello.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=utf-8"%>
<html>
<head>
<title>welcome, JSF</title>
</head>
<body>
   <f:view>
       hi!<h:outputText value="#{user.username}"/> 
       <h3>welcome to use JavaServer Faces!</h3>
   </f:view>
</body>
</html>


6. 访问地址:http://localhost:8080/jsf/index.faces

参考文章:http://blog.csdn.net/qjyong/article/details/1833457



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。