`

JSF(MyFaces) + Facelets 的一些配置和开发准备

阅读更多

在这里想把用JSF和Facelets开发的一些基本的概念,配置和开发准备留个备忘录。目的是,在今后想用这两样技术的时候,能快速上手,关键的配置和注意点能一目了然,再做一个空的blank prj供开发用。

JSF的各种实现

      刚开始一直弄明白JSF RI和Myfaces core是什么东西。 MyFaces Core同样是SUN JSF标准的实现,而JSF RI是SUN实现的JSF的参考。

所以一般都用MyFaces Core。而不用JSF RI。

Facelets与JSF的关系

    Facelets出现的背景是不使用JSP(JSPX是JSP2.0的文件当然也算JSP)。使得JSF摆脱JSP额外的负担,是程序比JSP运行更快。是很轻量级的框架。

 Facelets也是Apache的项目。

问: XHTML必须用Facelets才能运行吗?

    我觉得是。

问:Faces Servlet与faces这两个Servlet什么关系,mapping如何设置?

   见下文。

JSF的配置

    因为正常开发都是用Myfaces Core的JSF实现,所以JSF的配置就是MyfacesCore的配置。三个主要的部分。

    1 必须的: JSF个Sevlet ※必须

•Faces Servlet  : javax.faces.webapp.FacesServlet
    2 一个MyFacesServlet,StartupServletContextListener, 不是必须的,删掉也能运行。   

•faces :  org.apache.myfaces.webapp.MyFacesServlet
•Listener:  org.apache.myfaces.webapp.StartupServletContextListener
      查了一下代码,这个MyFacesServlet与StartupServletContextListener是配对使用的,用来对有些Container增加Listener。

      Add listener to myfaces-core.tld instead of web.xml

     有些容器不能把Listener加入到tld中,所以必须在web.xml中定义一个MyFacesServlet。所以对Tomcat容器来说这两个可有可无。

      (参考:  org.apache.myfaces.webapp.StartupServletContextListener的代码

            http://kickjava.com/src/org/apache/myfaces/webapp/MyFacesServlet.java.htm

       http://kickjava.com/src/org/apache/myfaces/webapp/StartupServletContextListener.java.htm

  
  3 另外还有一些MyFacesCore用的环境参数。 都不是必须的,删掉也能运行。

    所以,就两个Servlet的是必须的。 另外如果使用了Sun JSF RI那么连MyFacesServlet也不用写。

    (参考:MyFaceCore的环境参数含义

     http://myfaces.apache.org/core20/myfaces-impl/webconfig.html

 这样就可以跑jsp的例子了,因为javax.faces.DEFAULT_SUFFIX 默认为.jsp . 所以跑jsp 的时候可以进入FacesServlet。

FaceServlet配置

    XHTMl只能配合FaceServlet运行。

    必须的配置有两个:

•    face-config.xml中,这样jsf不认识的标签,交给facelets去解释。
     <application>
        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
    </application>
•   web.xml中增加 , 否则xhtml不被识别。
   <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
   </context-param>
      可选的配置:删除也没有关系。

     web.xml中

  <!-- 开发时检查Page更新的间隔秒数 -->

    <context-param>
        <param-name>facelets.REFRESH_PERIOD</param-name>
        <param-value>2</param-value>
    </context-param>
    <!-- 异常发生时在网页上显示堆栈信息 -->
    <context-param>
        <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>true</param-value>
    </context-param>

   参考: facelets参数设置:   http://homepage1.nifty.com/algafield/dbja01.html

 JSP和XHTML的模板

01.<%@ page contentType="text/html;charset=Shift_JIS" %>  
02.<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>  
03.<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>  
04.<html>  
05.<head><title>YEN to DOLLER</title></head>  
06.<body>  
07.<f:view>  
08.<h2>日本円を米ドルに換算</h2>  
09.<h:form>  
10.日本円を入力して下さい:  
11.<h:inputText id="number" value="#{YenToDoller.yen}"/>  
12.<h:commandButton value="計算"/>  
13.<p>米ドルでは<h:outputText id="output" value="#{YenToDoller.doller}"/>ドルです。  
14.</h:form>  
15.</f:view>  
16.</body>  
17.</html>  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/srx/archive/2009/12/12/4992947.aspx

分享到:
评论

相关推荐

    JSF MyFaces 开发文档

    - **最佳实践**:为了充分利用Apache MyFaces的功能,开发者应该遵循一些最佳实践,例如合理规划组件层次结构、使用Facelets简化页面开发、利用Ajax改善用户体验等。 - **社区资源**:Apache MyFaces拥有活跃的社区...

    Apress - Definitive Guide To Apache Myfaces And Facelets (2008)

    - 本书还包含了一些实战案例分析,展示了如何利用MyFaces和Facelets解决实际问题。 - 这些案例覆盖了多种业务场景,有助于读者理解和掌握所学知识的应用方法。 综上所述,《Apress - Definitive Guide To Apache ...

    用Apache Derby、Apache MyFaces和Facelets开发应用程序

    学习如何使用 Apache Derby、Apache MyFaces 和 Facelets 来开发 Java:trade_mark:Server:trade_mark: Faces (JSF) 应用程序。本文中示例应用程序使用了 Model-View-Controller (MVC) 架构,用来说明 MyFaces 组件的...

    jsf 1.2 myfaces1.2.7 richfaces3.3.1 facelets1.2 所有的最新包

    在开发过程中,你可以利用MyFaces和RichFaces提供的组件来快速构建界面,同时利用Facelets的模板和复合组件功能来组织和重用视图代码。这些包的组合使用,可以帮助你构建出功能强大、交互性强的Web应用程序。

    jsf+spring+servlet的demo

    而"jsf"文件夹很可能包含了JSF的相关资源,如Facelets视图文件、配置文件(faces-config.xml)、资源库(CSS、JS文件)等。这些文件将定义用户界面的布局、样式和行为,同时配置JSF应用程序的运行环境。 总的来说,...

    JSF and MyFaces 类库

    JavaScript Server Faces(JSF)...在Eclipse中开发JSF和MyFaces类库,可以享受到IDE带来的便利性,同时充分利用JSF和MyFaces的丰富功能和灵活性。通过熟练掌握这些知识点,你将能够高效地开发出高质量的Java Web应用。

    jsf-facelets1.1.9

    3. **组件库支持**:Facelets与多种JSF组件库(如MyFaces、RichFaces等)无缝集成,为开发人员提供了丰富的UI组件选择。 4. **编译时检查**:与JSP相比,Facelets在部署时进行编译,这有助于提前发现潜在的错误,...

    jsf入门+标签

    搭建环境**:JSF的开发通常需要集成开发环境(IDE),如Eclipse或NetBeans,以及相应的JSF库,例如Mojarra或MyFaces。同时,还需要一个Servlet容器,如Tomcat或Jetty,来运行JSF应用程序。 **2. 视图与控制器**:...

    JSFAPI myfaces-core-1.2.0

    总结而言,JSF API和MyFaces Core 1.2.0是Java Web开发中的重要工具,它们为开发者提供了强大的组件化UI框架和高效的业务逻辑处理能力。MyFaces Core 1.2.0作为JSF规范的实现,不仅提供了基本的JSF功能,还通过扩展...

    jsf and apache myfaces in action

    ### JavaScript Facelets (JSF) 和 Apache MyFaces:构建现代Web应用的核心技术 #### 引言:JSF与Apache MyFaces概述 JavaScript Facelets(JSF)是Java平台中的一个工业标准框架,专为Web应用设计,提供了一个...

    JSF + AJAX开发小例

    **JSF(Apache MyFaces)与AJAX的融合开发详解** JavaServer Faces(JSF)是Java平台上的一个用于构建Web应用程序的MVC(Model-View-Controller)框架。它提供了一种组件化的方式,使得开发者可以更方便地创建用户...

    开发JSF所需要的jar包

    JavaServer Faces(JSF)是Java平台上的一...在开发JSF项目时,确保引入上述所有必要的JAR包,并配置好Web.xml文件以启用JSF和相关特性。正确配置后,你就可以利用JSF的强大功能来高效地构建动态、组件化的Web应用了。

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

    4. **示例代码**: 学习和分析开源的JSF项目,如Mojarra(JSF参考实现)和MyFaces。 通过以上内容,你可以开始你的JSF学习之旅,掌握这个强大的Web开发框架。记住,实践是最好的老师,动手操作和不断探索是精通任何...

    myfaces-1.1.5

    5. **Facelets 视图技术**:MyFaces 支持 Facelets 作为默认的视图描述语言,Facelets 提供了比 JSP 更为灵活和结构化的视图定义方式。 6. **CDI 集成**:MyFaces 可以与 Contexts and Dependency Injection (CDI) ...

    jsf入门、配置使用及标签说明

    **JSF(JavaServer Faces)** 是一种Java平台上的Web应用程序开发框架,它提供了一种组件化和事件驱动的方式来创建用户界面。对于初学者来说,理解JSF的基础知识、配置和标签使用是至关重要的。 首先,让我们从**...

    Facelets

    Facelets 是一种用于构建 JavaServer Faces (JSF) 应用程序视图的框架,它提供了更高效和灵活的方式来创建用户界面。以下是 Facelets 的详细知识点: 1. **下载与依赖**:首先,你需要下载 Facelets 的库文件,并...

    Facelets Essentials - APRESS

    Facelets是JSF的一个视图定义框架,它作为JSF应用程序开发中的一个关键组件,显著提高了JSF应用的性能和开发效率。Facelets框架的出现,使得开发者能够以更简洁、更高效的方式构建JSF的视图层,避免了传统JSP API...

    JSF环境的配置.rar

    这篇文档"JSF环境的配置.pdf"很可能是关于如何在开发环境中设置和配置JSF的详细指南。以下是对JSF环境配置的一些关键知识点的详细介绍: 1. **Java Development Kit (JDK)**:首先,你需要安装并配置JDK,因为JSF是...

    myfaces源代码

    这个版本的MyFaces是在JSF 1.2规范下开发的,相对于后来的版本,可能有一些功能上的限制,但它仍然是学习基础概念的好起点。 在MyFaces源代码中,你可以找到以下几个关键组成部分: 1. **Facelets**:MyFaces支持...

    MyFaces组件最新源代码

    总之,MyFaces组件的源代码是学习JSF和Web应用程序开发的宝贵资源,它涵盖了从基础组件开发到高级性能优化的各个方面。通过深入研究这些代码,开发者不仅可以提升技能,还能更好地理解和利用MyFaces及其他JSF实现的...

Global site tag (gtag.js) - Google Analytics