`
xiaophai
  • 浏览: 9351 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JSF入门之hello world

阅读更多
  JSF以MVC模式为基础,与Struts不同,JSF的目标是希望以一个与Swing相类似的方式来开发网页,因此,从JSF的结构图当中,他的核心概念不是页面,而是控件树,也就是说,当用户提交一个请求时,JSF会先将页面上的组件先转换为与Swing当中类似的,由容器和控件组成的控件树,然后数据和事件被设置到对应的控件上,然后以一种与Swing类似的方式,来处理后续的请求。控件树是整个JSF的核心,所有其他的一切一切都是围绕着这棵控件树展开的

      JSF的处理核心是控件树,他会先将页面上所声明的控件转换为一棵控件树,后续的操作将在这颗控件树上进行。为了提高性能,系统会为之前生成的控件树提供缓存。Restore View的工作就是在缓存当中查找是否存在之前已经生成好的控件树,如果没有,则根据页面的内容,重新生成。

   导入包:

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

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

web.xml配置



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> 

<?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> 定义一个javabean



Java代码
package onlyfun.caterpillar;  
 
public class UserBean {  
    private String name;  
 
    public void setName(String name) {  
        this.name = name;  
    }  
 
    public String getName() {  
        return name;  
    }  


package onlyfun.caterpillar;

public class UserBean {
    private String name;

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

    public String getName() {
        return name;
    }
}  定义一个/WEB-INF/faces-config.xml像struts中的struts-config.xml文件一样,实现跳转:



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>/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> 
             onlyfun.caterpillar.UserBean  
         </managed-bean-class> 
        <managed-bean-scope>session</managed-bean-scope> 
    </managed-bean> 
</faces-config> 

<?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>/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>
             onlyfun.caterpillar.UserBean
         </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
</faces-config> index.jsp



Html代码
<%@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=Big5"%> 
<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> 

<%@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=Big5"%>
<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> welcome.jsp


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

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




然后http://localhost:8080/jsfDemo/pages/index.faces ,

分享到:
评论

相关推荐

    jsf 入门 helloWorld

    **JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...

    jsf2.0版本helloworld

    本例中的"jsf2.0版本helloworld"就是一个基础的入门示例,旨在展示如何在MyEclipse环境中配置和运行一个简单的JSF应用。 **JSF 2.0的关键特性** 1. **Faces Flow**: JSF 2.0引入了Faces Flow,这是一种新的导航模型...

    JSF入门实例 源代码

    这个"JSF入门实例 源代码"是专门为初学者设计的,帮助他们快速理解并掌握JSF的基本概念和用法。下面我们将深入探讨JSF的核心特性、工作原理以及如何通过给定的实例进行学习。 1. JSF概述: JSF是一种官方支持的...

    JSF的HelloWorld与新手一起分享

    ### JSF的HelloWorld与新手一起分享 #### 一、简介 JavaServer Faces(简称JSF)是一种基于组件的Web应用程序框架,它是Java平台的一部分,主要用于构建用户界面。本篇文章将通过一个简单的登录示例来介绍如何使用...

    SpringMVC3.1.2 入门级HelloWorld源码

    [INFO] +- javax.faces:jsf-api:jar:1.2_04:provided [INFO] +- javax.servlet:jstl:jar:1.2:provided [INFO] +- javax.servlet.jsp:jsp-api:jar:2.1:provided [INFO] +- javax.faces:jsf-impl:jar:1.2_04:provided ...

    java JSF入门

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

    HelloWorld1_初识javaee_

    "HelloWorld1"通常是一个入门示例,用于帮助开发者初步理解JavaEE的基本概念和工作流程。 在JavaEE中,"HelloWorld"程序通常涉及以下知识点: 1. **Servlet**:Servlet是JavaEE中的核心组件之一,用于处理HTTP请求...

    JSF入门.zip

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

    JSF入门中文教程(标签,入门)

    2. **第一个JSF应用**:创建简单的“Hello, World”应用,展示如何创建一个JSF页面和对应的后台Bean。 3. **组件库**:介绍JSF标准组件库(JSF Core和PrimeFaces等)中的常见组件及其使用方法。 4. **数据绑定**:...

    JSF 入门教程(结合Eclipse开发)

    **JSF(JavaServer Faces)入门教程:结合Eclipse开发** JSF,全称为JavaServer Faces,是Java平台上的一种用于构建Web应用程序的UI框架。它为开发者提供了组件化、事件驱动的模型,使得构建用户界面变得更为简单。...

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

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

    JSF入门全系列

    总的来说,"JSF入门全系列"涵盖了JSF框架的各个方面,旨在帮助初学者快速理解和掌握JSF,通过实践案例让你在Web开发的道路上稳步前行。无论你是Java新手还是有一定经验的开发者,这个系列都将为你提供宝贵的指导。...

    《JSF入门》简体中文版

    3. **Hello, World程序**: 创建第一个JSF应用程序,了解基本的页面结构和组件使用。 4. **组件和事件处理**: 学习如何创建自定义组件,理解事件模型和监听器的工作原理。 5. **Managed Beans和数据绑定**: 学习如何...

    JSF-2-Hello-World-Example.zip

    这个"JSF-2-Hello-World-Example.zip"压缩包很可能是包含了一个简单的JSF 2.x入门示例,帮助初学者理解框架的基本工作原理和使用方法。 JSF框架的核心组件包括: 1. **Facelets**:JSF 2.x默认的视图层技术,用于...

    JSF入门级教程

    这篇JSF入门级教程旨在帮助初学者理解并掌握JSF的基础概念和核心功能。 ### 1. JSF简介 JSF提供了一个组件化的开发方式,允许开发者通过拖放组件来创建用户界面,简化了UI开发。它还集成了JavaBeans和Servlet,使得...

    JSF2.0快速入门的基本教程.ppt

    本系列将以两个例子来讲解jsf的基本开发,第一个例子当然是hello world。目前可用的jsf ide不多,ibm要到06年才能放出支持jsf的wtp版本。所以我们的例子基本以手写为主,这样也能让我们有更清楚的认识,同时推荐目前...

    JSF入门

    3. **第一个JSF应用**:创建一个简单的"Hello, World!"程序,了解JSF页面(.xhtml)和后台bean的交互。 4. **组件使用**:学习如何在页面上添加和配置UI组件,以及如何处理用户输入。 5. **数据绑定**:掌握EL...

    JSF2入门视频+源代码教程

    3. **第一个JSF应用**:创建一个简单的"Hello, World!"程序,展示如何创建JSF页面和后台bean。 4. **UI组件使用**:介绍各种内置组件的使用,如输入字段、按钮、标签等,以及如何自定义组件。 5. **数据绑定和EL...

    jsf入门实例

    以下是对JSF入门实例的详细解析: 1. **JSFFive**: JSFFive可能是一个介绍JSF核心概念的例子,如视图(View)、控制器(Controller)和模型(Model)。在JSF中,视图通常由JSP页面组成,控制器由JSF的事件处理...

Global site tag (gtag.js) - Google Analytics