我正在开发一个使用Struts和JSF 2以及RichFaces 4.5.4的应用程序。
当应用程序在Tomcat(7)服务器上运行时,一切都很正常。但当我在WebLogic(11gR1-10.3.6)服务器上运行它时,JS资源不会加载。
rich:popupPanel获取错误:ReferenceError:RichFaces未定义当我尝试运行jQuery脚本时,我得到:ReferenceError:jQuery没有定义
我使用<h:head>
而不是<head>
,我的web.xml中有以下参数:
<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
看来ResourceServlet并没有自动注册。
如本文所述,ResourceServlet在Servlet 3.0及更高版本的环境中自动注册。
在Servlet 2.5及更低的环境中,有必要在WEB-INF/WEB.xml配置文件中手动注册ResourceServlet:
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.richfaces.webapp.ResourceServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/org.richfaces.resources/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>org.richfaces.resourceOptimization.enabled</param-name>
<param-value>true</param-value>
</context-param>