JSF2 / Richfaces4没有加载.ecss文件的内容

时间:2011-09-07 10:54:03

标签: jsf-2 richfaces

我正在从Richfaces 3.3和JSF 1.2升级到Richfaces 4和JSF2(2.0.6)的Sun实现。

我的css文件位于'WebContent / resources / css'。

当呈现页面时,所有.css文件都会正确加载。

由于某种原因,我的.ecss文件的内容没有被加载,任何想法为什么会这样?

我的web.xml中是否需要一些额外的设置?

<h:head>
  <meta http-equiv="Content-Type" content="text/xhtml" charset="UTF-8" />

  <title><ui:insert name="pageTitle" /> - </title>

  <h:outputStylesheet library="css" name="broken.ecss" />
  <h:outputStylesheet library="css" name="works.css" />

</h:head>

broken.ecss:

p {
  margin-top: 15px;
} 

看着firebug,找不到broken.ecss中的样式。


我注意到的一件事是文件的路径。我的css文件具有JSF2资源路径,而ecss文件具有Richfaces资源路径。这可能是问题(因为我的所有文件都在默认的JSF2资源位置下)?

/AppPath/rfRes/common.ecss.jsf?db=eAHTLYlbCQADeQGp&amp;ln=css
/AppPath/javax.faces.resource/style.css.jsf?ln=issuer/bla

此外,日志中显示以下内容:

"GET /AppPath/rfRes/common.ecss.jsf?db=eAHTLYlbCQADeQGp&ln=css HTTP/1.1" 302 -


更新

好的,302是由于我在web.xml中的错误重定向造成的。现在我可以看到问题的真正原因:

SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/WebApp] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: com.steadystate.css.parser.CSSOMParser

我是否还需要在我的应用程序中包含某种CSSOMParse jar?

由于

1 个答案:

答案 0 :(得分:4)

好的.....我下载并将cssParser-0.9.5.jar添加到我的webApp中,它修复了问题!

http://sourceforge.net/projects/cssparser/files/cssparser/0.9.5/cssparser-0.9.5.jar/download

我最初有以下jar,我认为这是Richfaces4升级所需要的全部内容:sac-1.0.0.1.jar。

似乎没有提到在升级到Richfaces 4时将cssParser jar添加到项目中,是否有原因或者我在这里遗漏了什么?

我对Richfaces有限的例子,文档,更重要的是一个足够大的社区回答这些问题感到更加沮丧:(