我正在从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&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?
由于
答案 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有限的例子,文档,更重要的是一个足够大的社区回答这些问题感到更加沮丧:(