JSF Web 资源

2024 年 8 月 29 日 | 阅读 2 分钟

JSF Web 资源是在 Web 应用程序中正确呈现所需的资源。它包括图像、脚本文件和任何用户创建的组件库。

JSF 提供了一种标准方法来存储您的 Web 资源。您可以使用以下任一方法来存储您的资源。

  • 它必须存储在 Web 应用程序根目录的 resources 目录的子目录中:resources/resource-identifier。
  • 打包在 Web 应用程序类路径中的资源必须位于 Web 应用程序内的 META-INF/resources 目录的子目录中:META-INF/resources/resource-identifier。您可以使用此文件结构将资源打包在 Web 应用程序中捆绑的 JAR 文件中。

JavaServer Faces 运行时将按上述顺序查找资源。


JSF Web 资源示例:访问图像文件

JSF 提供 <h:graphicImage /> 标签以访问 Web 应用程序中的图像。在以下示例中,首先我们创建了一个名为 images 的资源和子文件夹。创建文件夹后,我们的应用程序结构如下所示。

JSF Web resources 1

现在,您可以像下面这样编写代码。<h:graphicImage> 标签指定名为 hello.gif 的图像位于目录 web pages/resources/images 中。

// index.xhtml

在此代码中,我们通过两种方式访问图像。一种是通过在表达式语言中使用资源数组。第二种是通过指定 library 属性。

输出

两个图像标签都产生相同的输出。

JSF Web resources 2

JSF Web 资源示例:访问 CSS 文件

使用 <h:outputStylesheet> 标签访问 Web 应用程序中的 CSS 资源。您必须在 resources 文件夹内创建一个子目录,如下所示。

JSF Web resources 3

在以下示例中,我们在 Web 页面中访问 test.css 文件。

// index.xhtml

// test.css

输出

JSF Web resources 4

JSF Web 资源示例:访问 JavaScript 文件

使用 <h:outputScript> 标签访问 Web 应用程序中的 JavaScript 文件。以下屏幕截图显示了 JavaScript 文件在项目中的位置。

JSF Web resources 5

在这里,我们借助标签访问 JavaScript 文件。

// index.xhtml

// test.js

输出

JSF Web resources 6