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

JSF2.0系列(二)

阅读更多

pout 发表于http://www.leefn.com 时间2009-07-10 12:42

这里假设你对eclipse的开发环境已经比较熟悉了,我们直接从配置和开发开始,与eclipse相关的功能就不多做介绍了。另外还假设你对JSP、JSTL等都有初步了解。

一、    配置JSF  2.0开发环境
首先下载软件:Eclipse  IDE  for  Java  EE  Developers  (189  MB)或者Myeclipse  7.5  、JSF  2.0的Beta1版本(mojarra-2.0.0-Beta1)
下载地址:
eclipse:http://www.eclipse.org/downloads/
mojarra2.0.0bate1:
https://javaserverfaces.dev.java.net/files/documents/1866/135560/mojarra-2.0.0-Beta1-binary.zip

好了,配置好eclipse的开发环境。将获得的JSF  2.0实现包mojarra-2.0.0-Beta1-binary.zip解压缩, 可以看见一个lib目录,目录下的两个文件jsf-api.jar  jsf-impl.jar就是JSF  2.0的接口和参考实现了,也是我们开发中 要使用的了。下面我们就一步步来配置开发环境。

1、    用Eclipse创建一个Web  Project,选择Java  EE  5.0,取名TestJsf2.0,其他一切如常,这样创建了一个工程TestJsf2.0。
2、    打开工程TestJsf2.0的编译路径配置:工程TestJsf2.0上右键点击,选择 Build  Path  ->Configure  Build  Path…,在Libraries  中添加你刚才下载的两个jar 包:jsf-api.jar  jsf-impl.jar,并在Order  and  Export中将这两个jar包移到 Java  EE  5  libraries前面(这一步非常重要,由于java  ee  5中包含了JSF  1.2,如果不改动编译使用jar包 的顺序,首先采用的就是JSF  1.2,这样很多JSF  2.0中的功能就无法使用了)。
3、    在web.xml中加入JSF支持

<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>
       <url-pattern>*.xhtml</url-pattern>
</servlet-mapping> 

 这样设置后,整个初步配置工作就完成了,接下来我们就来看看一个初步的例子,页面表现采用新加入标准的facelets。

二、    一个简单的例子。

我们先来看看两个文件:

helloworld.xhtml

<!DOCTYPE  html  PUBLIC  "-//W3C//DTD  XHTML  1.0  Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Hello  World</title>
        <meta  http-equiv="keywords"  content="enter,your,keywords,here"  />
        <meta  http-equiv="description"  content="A  short  description  of  this  page."  />
        <meta  http-equiv="content-type"  content="text/html;  charset=UTF-8"  />
    </h:head>
    <h:body>
        <h:form  id="form">
            <div  style="padding:100px  0  0  100px;font-size:22px;font-weight:bold">
                    Hello,#{hello.name}!
            </div>
        </h:form>
    </h:body>
</html> 

 HelloWorld.java

package  test;
import  javax.faces.bean.ManagedBean;
import  javax.faces.bean.SessionScoped;

@ManagedBean(name="hello")
@SessionScoped
public  class  HelloWorld  implements  java.io.Serializable{
    private  static  final  long  serialVersionUID  =  6866250699219535733L;
    private  String  name;

    /**
      *  @return  the  name
      */
    public  String  getName()  {
        this.name  =  "World";
        return  name;
    }
}

 看看helloworld.xhtml,如果你对facelets比较熟悉,那对这样的写法就不陌生了。其中ui头就是新加入的facelets表现标签 了。另外相对于JSF  1.2还加入了  h:head,  h:body。#{hello.name}这一个就直接关联了ManagedBean中的 name属性了,现在不用一定加在h:outputText标签中了,这是为了简洁加入的新的方式。

再看看ManagedBean,其中最大的变化就是加入了Annotation:ManagedBean和SessionScoped,这是 JSF  2.0中新引入的,这样就可以直接简化了faces-config.xml。这个例子中根本不需要这个配置文件就可以运行了。好了,在浏览器中 输入:http://localhost:8080/TestJsf2.0/helloworld.xhtml  就能看见结果了。

分享到:
评论
5 楼 steelblue 2012-09-04  
请问怎么能让jsf2.0支持中文?,我做出来的有乱码,。。
4 楼 leove 2010-12-08  
http://localhost:8080/TestJsf2.0/faces/helloworld.xhtml
3 楼 leove 2010-11-03  
注意扩展名是jsf 不是xhtml
2 楼 leove 2010-11-03  
回答楼上的:
http://localhost:8080/TestJsf2.0/helloworld.jsf
1 楼 paomo30000 2010-10-19  
请问为什么我在输入了http://localhost:8080/TestJsf2.0/helloworld.xhtml 以后,浏览器变为下载了呢?我用的TOMCAT6.18 其中conf/web.xml 里的conf/web.xml 也有<mime-mapping>
        <extension>xhtml</extension>
        <mime-type>application/xhtml+xml</mime-type>
    </mime-mapping>

为什么总是下载?

相关推荐

    jsf2.0版本helloworld

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

    jsf2.0实例

    文档《JSF2.0系列简介.doc》可能详细介绍了JSF 2.0的基础知识和实践指导,而压缩包中提供的源代码可能是为了演示如何在实际项目中使用JSF 2.0。这些示例可能涵盖了以下内容: - **创建基本的JSF页面**:展示如何...

    JSF2.0 开发简介

    在本系列文章中,作者通过一个名为places的应用程序来演示JSF 2.0的新特性。该应用利用Yahoo! Web服务来获取地图和天气信息。用户输入地址,应用程序通过调用Web服务获取地图的多个缩放级别和天气预报,然后在JSF...

    jsf2.0+richfaces4.2.3需要的jar包

    在Java服务器端开发中,JavaServer Faces (JSF) 是一个用于构建用户界面的MVC框架,而RichFaces是JSF的一个扩展库,提供了一系列强大的组件和功能,以提升用户体验和开发效率。在这个场景中,我们关注的是JSF 2.0与...

    jsf2.0(mojarra-2.0.2-FCS-binary.zip)

    综上所述,`jsf2.0(mojarra-2.0.2-FCS-binary.zip)`是一个全面的JSF 2.0开发工具包,包含了从开发到部署所需的所有组件和文档,为Java Web开发者提供了强大的工具集,便于他们构建高效、易维护的Web应用。...

    Packt.JSF 2.0 Cookbook.Jun 2010.pdf

    《JSF 2.0 Cookbook》通过一系列实际的案例来教授读者如何利用JSF 2.0的各种特性。这些案例覆盖了从基础到高级的多个层面,包括但不限于: - **基础组件和表单处理**:如何创建和使用各种UI组件,如输入字段、按钮...

    JSF2.0 Tutorial

    JSF 2.0是基于组件的框架,它提供了一系列预先定义的UI组件,如按钮、表单、文本框等,开发者可以通过声明式方式在页面上使用这些组件。每个组件都与后台Bean的属性绑定,允许数据的双向传递。此外,JSF 2.0支持...

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

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

    JavaServer Faces 2.0 The Complete Reference.pdf

    7. **案例研究**:通过一系列实际案例,展示了如何运用JSF 2.0构建复杂的企业级应用。 #### 四、特点亮点 - **全面性**:本书不仅覆盖了JSF 2.0的核心概念和技术,还包含了大量示例代码和最佳实践建议。 - **...

    JSF2 规范的标准参考实现

    它将一系列视图和转换逻辑封装在一起,提供了更好的用户体验。 3. **全双工通信**:JSF 2支持WebSocket协议,使得服务器和客户端之间的通信更加实时,增强了交互性。 4. **异步处理**:通过`&lt;f:ajax&gt;`标签,开发者...

    开发JSF所需要的jar包

    `jstl.jar`和`javax.servlet.jsp.jstl.jar`提供了JSTL库,包含了一系列用于处理常见任务的标签,如条件判断、迭代、国际化等,与JSF结合使用可以增强视图的可读性和维护性。 9. **其他辅助库**: 为了支持一些...

    jsf资料大全

    1. **JSF2.0-Reference.pdf** - 这是一份详细的JSF 2.0官方参考文档,涵盖了JSF 2.0的所有特性和API。该文档对于深入理解JSF的工作原理、生命周期、事件处理、数据绑定以及组件使用等方面至关重要。你可以从中学习...

    JSF入门级教程

    二、JSF架构 1. **Facelets**:JSF 2.0开始引入Facelets作为默认视图层技术,它是一种XML-based模板语言,用于创建用户界面。 2. **Managed Beans**:在JSF中,业务逻辑通常封装在Managed Beans中,它们是Java对象,...

    jsf学生信息管理

    JSF 2.0通常需要一系列的库,如Servlet API、EL(Expression Language)和JSF实现库(如Mojarra)。开发者需要正确地配置项目的类路径,以确保所有依赖都被正确加载。 7. **文件结构** 虽然没有列出具体的文件结构...

    jsf 资料 pdf 代码 JSF IN ACTION

    **JSF组件库** 包括一系列预定义的UI组件,如按钮、文本框、表格等,这些组件可以组合成复杂的用户界面。开发者可以通过定制或扩展这些组件来满足特定需求。 **Facelets** 是JSF 2.0及更高版本推荐的视图技术,它...

    jsf2整合richfaces4.2.3需要的jar

    - **添加依赖**:首先,需要将`jsf2.0+richfaces4.2.3`压缩包中的所有jar文件添加到项目的类路径中。这些jar文件通常包括JSF的核心库、RichFaces的库以及可能的其他依赖。 - **配置web.xml**:更新`web.xml`文件,...

    JSF Web 应用开发实战源码

    在"JSF Web应用开发实战源码"这个资源中,你将找到一系列针对JSF框架的实践示例。这些实例涵盖了JSF的基础到进阶用法,对于初学者来说是极好的学习材料。下面,我们将深入探讨JSF的一些核心概念和技术点: 1. **JSF...

    JSF实例源代码下载

    6. **JSF生命周期**:JSF处理每个HTTP请求时会经历一系列的阶段,包括初始化、处理请求、验证、更新模型、调用业务逻辑和呈现响应。每个阶段都为开发者提供了插入自定义逻辑的机会。 7. **FacesContext**:这是JSF...

Global site tag (gtag.js) - Google Analytics