JSF2.0项目中的静态内容分离

时间:2014-11-06 10:54:08

标签: jsf-2

我需要你的帮助。

我有在WAS8.5上运行的JSF2.0应用程序。我想分离静态和动态内容,因为我们只想将WAS服务器用于动态内容,而IHS则为我的应用程序使用静态内容。我目前的架构和设计如下:

  1. 在ibm-web-ext.xml文件中将标记文件服务标记为false(IBM配置文件说明是否要为WAS提供静态内容)。
  2. 我们使用了核心的JSF2.0 tages(h:outputStylesheet,h:outputScript和h:graphicImage)以及传统的html标签,一些地方(链接,脚本和img)加载静态内容。
  3. 我的理解/观察是, 1.当我们使用JSF2.0组件加载静态内容(使用h:outputStylesheet组件的样式,使用h:outputScript的java脚本和使用h:graphicImage的图像)时,所有静态内容都将由WAS服务器提供,因为FacesServlet负责读取组件并相应地加载资源。根据JSF2.0指南和标准,我们应该使用JSF标记来加载js,css和images等资源。 2.当我们使用html标签加载静态内容时,webserver提供的所有静态内容即IHS

    现在我的问题是, 我的应用程序是互联网渠道应用程序,我们希望尽快提供服务。从技术上讲,我希望尽可能使用Core JSF标记,并使用WAS服务器仅提供动态内容以减少负载。

    请告诉我满足我要求的选项。

    谢谢, Nanjundan Chinnasamy

1 个答案:

答案 0 :(得分:0)

我们已经进行了以下代码更改以实现我们的要求。

通过IHS服务所有图像, 使用带有value属性的原生JSF2.0标记,如下所示。  

这将生成如下所示的html源

我们使用传统的html标签(在JSF1.X中使用)版本来加载css和java脚本文件,如下所示  

如果我们使用JSF2.0中提供的h:outputScript和h:outputStylesheet标记,我们有一个标记为必需的name属性。我们无法单独使用value属性进行静态引用。我们在MyFaces网站上没有太多文档来提供您的参考。平均时间,你可以看看以下内容: https://myfaces.apache.org/core20/myfaces-impl/tagdoc/h_outputScript.html https://myfaces.apache.org/core20/myfaces-impl/tagdoc/h_outputStylesheet.html

如果您有任何其他建议/意见,请告诉我。我们将通过更新回复您。

谢谢, Nanjundan Chinnasamy