`
whoosh
  • 浏览: 235027 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JSF入门三(第一个JSF程序)

    博客分类:
  • JSF
 
阅读更多

本文参考并转载:

http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2630

 

本人使用的JSF实现是mojarra-2.0.3-FCS,下载地址:http://javaserverfaces.java.net/download.html

 

我们将设计一个简单的登入程序,使用者提交名称,之后由程序显示使用者名称及欢迎信息。

 

一、导入jar包(jsf-impl.jar jsf-api.jar jstl.jar standard.jar)

解压mojarra-2.0.3-FCS-source.zip,将lib目录下面jsf-impl.jar jsf-api.jar取出放入Eclipse的/WEB-INF/lib,另外还需要自己另外下jstl.jar standard.jar,同样也放入Eclipse的/WEB-INF/lib

 

二、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<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>

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

 

三、编写一个简单的java bean

package bruce.zhao.model;

public class UserBean {

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

四、设计页面流程

我们将先显示一个登入网页/pages/index.jsp,使用者填入名称并提交表单,之后在/pages/welcome.jsp中显示Bean中的使用者名称与欢迎信息。

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=GB2312"%>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
	<h:form>
		<h3>请输入您的名称</h3>
		名称: <h:inputText value="#{user.name}" />
		<p><h:commandButton value="送出" action="login" />
	</h:form>
</f:view>
</body>
</html>

我们使用了JSF的core与html标签库,core是有关于UI组件的处理,而html则是有关于HTML的进阶标签。
<f:view>与<html>有类似的作用,当您要开始使用JSF组件时,这些组件一定要在<f: view>与</f:view>之间,就如同使用HTML时,所有的标签一定要在<html>与< /html>之间。
html标签库中几乎都是与HTML标签相关的进阶标签,<h:form>会产生一个表单,我们使用<h: inputText>来显示user这个Bean对象的name属性,而<h:commandButton>会产生一个提交按钮,我们在action属性中指定将根据之前定义的login页面流程中前往welcome.jsp页面。
网页设计人员不必理会表单传送之后要作些什么,他只要设计好欢迎页面就好了:

2.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=GB2312"%>
<html>
<head>
	<title>第一个JSF程序</title>
</head>
<body>
<f:view>
	<h:outputText value="#{user.name}" /> 您好!
	<h3>欢迎使用 JavaServer Faces!</h3>
</f:view>
</body>
</html>

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

<?xml version="1.0" encoding="UTF-8"?>
<!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>/pages/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome>login</from-outcome>
			<to-view-id>/pages/welcome.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	<managed-bean>
		<managed-bean-name>user</managed-bean-name>
		<managed-bean-class>
			bruce.zhao.model.UserBean
	</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

 在<navigation-rule>中,我们定义了页面流程,当请求来自<from-view- id>中指定的页面,并且指定了<navigation-case>中的<from-outcome>为login时,则会将请求导向至<to-view-id>所指定的页面。
在<managed-bean>中我们可以统一管理我们的Bean,我们设定Bean对象的存活范围是session,也就是使用者开启浏览器与程序互动过程中都存活。

六、接下来启动Container,连接上您的应用程序网址,例如:http://localhost:8080/jsfDemo/pages/index.faces,填入名称并提交表单,您的欢迎页面就会显示了。

分享到:
评论
1 楼 JohnWang1992 2014-09-25  

相关推荐

    JSF入门+JSF web实战+JSF2

    《JSF2》是关于JSF的第二版,相比第一版,JSF2引入了许多新特性,如Facelets作为默认视图层技术,使得视图更易于维护;引入了Partial State Saving,降低了服务器内存消耗;支持CDI(Contexts and Dependency ...

    JSF入门级教程

    JavaScript Server Faces(JSF)是Java平台上的一种用于构建Web应用程序的服务器端框架。它提供了一种组件化的开发方式,使得开发者可以通过拖拽组件并配置属性来创建用户界面,极大地简化了开发过程。本教程旨在...

    jsf 入门 helloWorld

    创建第一个 JSF 页面 在项目中创建一个名为 `hello.xhtml` 的文件,这是一个 JSF 视图文件。在该文件中,我们将创建一个简单的表单,包含一个按钮,当用户点击按钮时,会显示 "Hello, World!" 消息。以下是 `hello...

    值得看的jsf入门教程

    JavaScript全名JavaServer Faces(JSF)是一种基于Java的服务器端Web应用程序开发框架,由Sun Microsystems(现已被Oracle收购)开发。它旨在简化用户界面组件的构建和管理,为开发者提供一套面向对象的API,使其...

    清晰版--JSF入门.pdf

    创建第一个JSF程序通常包括以下几个步骤: - **设置开发环境**:确保安装了支持JSF的Java开发工具包(JDK)和集成开发环境(IDE)。 - **创建项目**:在IDE中创建一个新的JSF项目。 - **编写视图文件**:使用JSF提供...

    jsf快速入门教程

    创建第一个JSF应用** 一个基本的JSF应用包含一个JSF页面(通常扩展名为.xhtml)和对应的Managed Bean。页面中可以使用JSF组件,如`h:inputText`用于文本输入,`h:commandButton`用于提交表单。Managed Bean则负责...

    JSF全套(JSF入门教+ LIB+ Ajax4JSF使用手册 )

    1. **JSF入门教程**:JSF的基础知识讲解,涵盖了JSF的基本概念、架构和工作原理。这个部分将教你如何配置JSF环境,创建第一个JSF应用,理解JSF生命周期,以及认识JSF的核心组件如输入字段、按钮、表单等。通过这个...

    JSF入门必读——JSF入门基础

    开发第一个JSF程序通常涉及创建一个JSF页面(通常扩展名为.xhtml),在这个页面上使用JSF标签来定义组件,然后配置一个对应的后台Bean来处理用户输入和业务逻辑。JSF页面通过Faces Servlet处理请求,将用户交互转换...

    java JSF入门

    #### 1.2 第一个 JSF 程序 JSF的初学者通常从创建一个简单的"Hello, World"程序开始。这涉及创建一个JSF页面(通常为`.xhtml`扩展名),定义一个输出文本组件,并在后台代码中设置其值。当用户访问这个页面时,JSF...

    JSF入门(一)

    在接下来的学习中,我们将深入探讨如何创建第一个JSF应用程序,配置开发环境,以及如何使用JSF组件和bean来构建动态的Web页面。同时,我们还将涉及JSF的错误处理、国际化以及与Spring等其他框架的集成。通过实践,你...

    一个简单的JSF入门Demo

    在这个“一个简单的JSF入门Demo”中,我们将探讨JSF的基本概念、工作原理以及如何通过提供的源码和工具进行实践。 ### 1. JSF框架概述 JSF框架的核心理念是将用户界面(View)、业务逻辑(Controller)和数据模型...

    JsfDemo入门例子

    **JSF(JavaServer Faces)** 是...从创建第一个JSF页面,到连接Managed Bean,再到处理用户事件,你将逐步了解如何使用JSF搭建一个完整的Web应用。实践是最好的老师,动手尝试这个示例,你将更好地理解JSF的强大之处。

    《JSF入门》简体中文版.pdf

    - 创建第一个JSF应用程序; - 实现简单的导航流程; - 配置和应用导航规则; - 使用JSF表达式语言; - 应用国际化信息。 3. Managed Beans JSF中的Managed Beans是指与JSF生命周期管理相结合的JavaBeans。它们可以...

    JSF框架入门教程和JSF的jar包

    3. **编写第一个JSF页面**: 使用Facelets创建一个简单的Hello, World页面,了解组件的使用。 4. **Managed Bean的创建和使用**: 编写Managed Bean,处理页面请求和数据。 5. **调试和测试**: 运行应用,通过浏览器...

    JSF入门.zip

    3. 第一个JSF应用:通过创建一个简单的“Hello, World!”应用,引导读者入门。 4. UI组件:详细介绍JSF的各种内置组件及其使用方法。 5. 数据绑定和EL:解释如何使用EL表达式将组件与模型数据关联。 6. 验证和转换:...

    jsf入门+标签

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,主要用于构建Web应用程序。它简化了在服务器端处理用户交互的过程,提供了一种组件化的方式来创建动态、交互式的Web界面。 ### JSF入门 JSF的核心...

    jsf入门,一个星期轻松掌握jsf框架

    JavaServer Faces(JSF)是Java平台上的一种用于构建用户界面的服务器端Web应用程序框架。它遵循Model-View-Controller(MVC)设计模式,提供了一种声明式的方式来创建动态、数据驱动的Web应用。本教程旨在帮助初学...

Global site tag (gtag.js) - Google Analytics