`
forever8tf
  • 浏览: 98064 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jsf 2.0 利用资源处理程序

阅读更多


 JSF 2 提供了定义和访问资源的标准机制。您将自己的资源放到名为 resources 的顶级目录下,并使用一些 JSF 2 标记来在视图中访问这些资源。例如,图 4 展示了 places 应用程序的资源:

  图 4. places 应用程序的资源

JSF 2 简介,第 1 部分: 流线化 Web 应用程序开发

  对资源的惟一需求是它必须位于 resources 目录或 resources 目录的子目录中。可以随意命名 resources 目录的子目录。

  在您的视图代码中,可以使用两个 JSF 2 标记访问资源:<h:outputScript> 和 <h:outputStylesheet>。这些标记可以结合用于 JSF 2 的 <h:head> 和 <h:body> 标记,如清单 12 所示:

  清单 12. 在 XHTML 中访问资源 

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html">

  <h:head>
    ...
  </h:head>

  <h:body>
    <h:outputStylesheet library="css" name="styles.css" target="body"/>
    <h:outputScript library="javascript" name="util.js" target="head"/>
    ...
  </h:body>
</html>

  <h:outputScript> 和 <h:outputStylesheet> 标记有两个属性,分别指定了脚本或样式表:library 和 name。library 名称对应于 resources 目录下的子目录,这是保存资源的位置。例如,如果在 resources/css/en 目录中有一个样式表,那么 library 将为 css/en。name 属性是资源本身的名称。

注:

  1. <h:outputScript> 和 <h:outputStylesheet> 应当位于<h:head>或<h:body>中,不能位于<html>中,否则无效。
  2. 使用这两个标记可以确保引用资源的url不随页面相对资源的路径变化而变化,极大的提升了页面的可流动性。

  可重新定位的资源

  开发人员需要能够在页面中指定想要呈现他们的资源的位置。例如,如果将 JavaScript 放在页面体中,浏览器将在加载页面时执行 JavaScript。另一方面,如果将 JavaScript 放到页面的头部,那么 JavaScript 只有在得到调用时才会被执行。由于资源的放置位置会影响它的使用方式,因此需要能够指定希望在哪些位置显示资源。

  JSF 2 资源是可重新定位的,这意味着您可以在页面中指定希望放置资源的位置。您将使用 target 属性指定位置;比如,在 清单 12 中,我将 CSS 放到页面体中,而将 JavaScript 放到页面头部中。

  有些情况下,需要使用 JSF 表达式语言(EL)访问资源。比如,清单 13 展示了如何使用 <h:graphicImage> 访问一个图像:

  清单 13. 使用 JSF 表达式语言访问资源 

<h:graphicImage value="#{resource['images:cloudy.gif']}"/>

  清单 13 的非 EL 备选方法

  无可否认,清单 13 中的语法不是很直观。它访问了一个 JSF 为了存储资源而创建的地图,因此很少需要使用这种语法。实际上,可以使用 <h:graphicImage/> 访问图像,而不需要使用 EL,比如:<h:graphicImage library="images" name="cloudy.gif"/>

  在 EL 表达式内访问资源的语法是 resource['LIBRARY:NAME'],其中 LIBRARY 和 NAME 对应于 <h:outputScript> 和 <h:outputStylesheet> 标记的 library 和 name 属性。



注意:如果你引入css资源时,其中涉及到图片文件的路径引用会有点问题,当我们的css文件引用同目录下的images中的图片时,常常是如:../images/1.gif路径,但是在这里是错误的,你不妨看下客户端的源码时,会看到JSF2将 <h:outputStylesheet>中的路径解析为/advang-war/javax.faces.resource/common.css.xhtml?ln=style 类似格式,可见,这个CSS文件是放置在应用根目录下的 javax.faces.resources文件夹中,这样真正的路径应该都相对于该目录,于是,正确的路径是../resources/images/1.gif.

 

     转自:http://blog.csdn.net/zavens/archive/2009/11/30/4902425.aspx

 

分享到:
评论

相关推荐

    JSF2.0源代码

    **JSF 2.0 源代码详解** JavaServer Faces (JSF) 是一个用于构建Web用户界面...总的来说,JSF 2.0的源代码是开发者提升技能、解决实际问题的宝贵资源,通过深入学习,我们可以更好地利用JSF构建高效、健壮的Web应用。

    jsf 2.0 api和imp的jar包+源码包+doc

    JavaServer Faces(JSF)是Java平台上用于构建Web应用程序的官方标准MVC(Model-View-Controller)框架。...通过系统地学习和实践,你将能够熟练掌握JSF 2.0,并能利用它的强大功能来构建高质量的Web应用程序。

    JSF2.0实战 - 6、TextBox

    JSF(JavaServer Faces)是Oracle公司提供的一个用于构建Web应用程序的MVC框架,而JSF 2.0版本带来了许多改进和新特性,使开发更加简便高效。 首先,TextBox在JSF中被称为`h:inputText`,它是一个用于收集用户单行...

    JSF2.0实战 - 10、自定义Ajax更新方式

    在JSF 2.0中,Ajax功能的引入极大地增强了用户界面的交互性和实时性。这一部分我们将深入探讨如何实现自定义的Ajax更新方式,以更灵活地控制UI组件的异步更新。在这个主题中,我们将关注以下几个关键知识点: 1. **...

    JSF 2.0 开发资料

    它作为 Java EE 的一部分,在 JSF 2.0 版本中进行了大量的改进和增强,旨在简化 Web 应用程序的开发流程,提高开发效率,同时保持代码的可维护性和扩展性。 #### 二、JSF 2.0 的主要特性 ##### 1. **简化配置与...

    JSF2.0 开发简介

    JSF 2.0 提供了资源处理器,方便管理和重用应用程序中的CSS、JavaScript和其他静态资源。这使得资源的组织和引用更加有序,同时有利于提高页面加载速度和性能。 **示例应用程序:places应用** 在本系列文章中,作者...

    JSF2.0_开发入门

    JSF(JavaServer Faces)2.0 是 Java 平台的一个强大的组件基础 Web 应用框架,它旨在简化 Web 应用程序的开发过程,并提高开发效率。JSF 2.0 作为 JSF 的一个重要版本,在原有的基础上引入了许多新特性,极大地提高...

    jsf2.0+jdbc实例

    综上所述,这个"jsf2.0+jdbc实例"涵盖了JSF 2.0组件模型的使用,通过EL进行数据绑定,利用JDBC进行数据库操作,并在Tomcat 6.0上部署和运行。通过学习和实践这个实例,开发者可以深入了解JSF 2.0与数据库集成的基本...

    JSF2.0实战 - 9、自定义Filter处理资源文件依赖关系

    总结起来,"JSF2.0实战 - 9、自定义Filter处理资源文件依赖关系"这一主题旨在教导开发者如何利用Java web应用的过滤器机制,以及与Dojo库的结合,来管理和优化资源文件的加载,从而提升用户体验和应用程序性能。...

    JSF2.0的一个简单Demo

    综上所述,"JSF2.0的一个简单Demo"不仅是一个学习和实践JSF2.0的好资源,也是理解Web应用开发中MVC模式和组件化思想的重要途径。通过阅读和分析Demo中的代码,开发者可以提升自己在Java Web领域的技能,更好地应对...

    jsf 2.0(jar+源码+api+新特性示例)

    **JSF 2.0(JavaServer Faces 2.0)是Java EE 6中引入的一个重要的Web应用程序开发框架,用于构建用户界面。这个框架基于MVC(Model-View-Controller)模式,提供了丰富的组件库和事件处理机制,极大地简化了前端...

    JSF2.0 API

    在JSF 2.0中,开发者可以利用这些特性快速构建复杂的Web应用程序,例如: 1. **表单处理**:通过`&lt;h:inputText&gt;`等组件,结合转换器和验证器,轻松处理用户输入。 2. **页面导航**:使用`&lt;h:commandButton&gt;`和`...

    Packt.JSF 2.0 Cookbook.Jun 2010.pdf

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

    JSF.2.0.最新2010教程

    这些案例旨在帮助开发者深入了解如何利用JSF 2.0的各种功能来构建高效、易于维护的Web应用程序。 例如,书中可能会包含以下几种类型的案例: - **构建基本的JSF应用程序**:介绍如何从零开始搭建一个简单的JSF应用...

    JSF2.0实战 - 8、实现换肤功能

    JSF是一种用于构建Web应用程序的Java EE标准组件模型,而换肤功能则是提升用户体验的重要手段,它允许用户根据个人喜好选择不同的界面风格。Dojo是一个强大的JavaScript库,常常被用来增强JSF应用的前端交互性。 ...

    JSF2.0实战 - 7、自定义<h:head>

    总结来说,自定义`&lt;h:head&gt;`在JSF2.0中提供了更大的灵活性,允许我们精细控制页面头部的结构和内容。结合Dojo4j库,我们可以更高效地集成Dojo,实现复杂的前端功能,并优化资源加载,从而提升整个Web应用程序的性能...

    JavaServer Faces 2.0, The Complete Reference PDF原版高清

    JavaServer Faces 2.0(简称JSF 2.0)是Java平台中用于构建企业级Web应用程序的一个标准框架。本书《JavaServer Faces 2.0: The Complete Reference》是关于JSF 2.0的全面指南,由Ed Burns、Chris Schalk与Neil ...

Global site tag (gtag.js) - Google Analytics