我使用primefaces-5.1.jar and
javax.faces-2.2.0.jar (i got some error for
javax.faces-2.2.9.jar`)
也可以将其放在web.xml
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{Helper.theme}</param-value>
</context-param>
然后我收到了错误:
Error loading theme, cannot find "theme.css" resource of "primefaces-bootstrap" library
javax.faces.FacesException: Error loading theme, cannot find "theme.css" resource of "primefaces-bootstrap" library
at org.primefaces.renderkit.HeadRenderer.encodeTheme(HeadRenderer.java:134) ~[primefaces-5.1.jar:5.1]
at org.primefaces.renderkit.HeadRenderer.encodeBegin(HeadRenderer.java:81) ~[primefaces-5.1.jar:5.1]
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:869) ~[javax.faces-2.2.0.jar:2.2.0]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854) ~[javax.faces-2.2.0.jar:2.2.0]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) ~[javax.faces-2.2.0.jar:2.2.0]
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:443) ~[javax.faces-2.2.0.jar:2.2.0]
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) ~[javax.faces-2.2.0.jar:2.2.0]
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337) ~[javax.faces-2.2.0.jar:2.2.0]
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337) ~[javax.faces-2.2.0.jar:2.2.0]
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) ~[javax.faces-2.2.0.jar:2.2.0]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ~[javax.faces-2.2.0.jar:2.2.0]
但是当我使用javax.faces-2.1.25.jar
时,上面的错误已经解决,但又出现了另一个错误:
com.sun.faces.context.flash.ELFlash getCurrentFlashManager
SEVERE: JSF1094: Could not decode flash data from incoming cookie value Invalid characters in decrypted value. Processing will continue, but the flash is unavailable for this request.
我的问题是primefaces-5.1.jar
的兼容库?
由于
答案 0 :(得分:4)
您是否将Primfaces Theme Maven dependecy放入pom.xml?
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.8</version>
<scope>compile</scope>
</dependency>
根据官方文档建议使用Primefaces主题的10.0.10版本,包括添加自己的存储库,这是无法正常工作,我仍然收到错误。最后一个版本的主题在中央存储库maven中不可用。
在没有有效解决方案的大量研究之后,我需要选择最新版本的Maven存储库,该存储库仅适用于1.0.8版本。但我的项目仍然收到以下警告:
警告:JSF1064:无法从库中找到或提供资源images / ui-bg_highlight-hard_70_000000_1x100.png, primefaces的自举。
警告:JSF1064:Nãofoiofíí能够帮助你进行报复,图片/ ui-bg_highlight-hard_70_000000_1x100.png,pela biblioteca,primefaces-bootstrap。
稍微思考一下我发现了一个解决 bootstrap 主题问题的简单解决方案,只需通过替换的属性background
将新路径传递给错过的图像ui-widget-shadow css类。
解决方案是下载缺少的图像,可以在以下链接中找到:
| Link 1 | Link 2 | Link 3 | (所有链接均指: ui-bg_highlight-hard_70_000000_1x100.png )
链接3 :www.fulig.com.br/en/wp-content/plugins/wp_w2_contact_form/css/ui/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png
将这些图像放在项目的文件夹中,并仅覆盖对图像具有无效引用的属性。使用以下代码:
.ui-widget-shadow {
background-image: url("images/ui-bg_highlight-hard_70_000000_1x100.png.jsf") !important;
}
其中URL是直接从上面的链接获得的图像的路径。
该问题在以下讨论: forum.primefaces.org/viewtopic.php?f=9&t=19250&start=10
我希望这有帮助! ; - )
答案 1 :(得分:1)
将依赖项添加到pom.xml
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.0</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>cupertino</artifactId>
<version>1.0.8</version>
</dependency>
将配置添加到web.xml
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{LayoutBean.applicationTheme}</param-value>
</context-param>
创建一个应用程序范围的eager bean,以便在加载JSF应用程序时加载
@ManagedBean(name = "LayoutBean", eager = true)
@ApplicationScoped
public class LayoutBean {
private String theme = "cupertino";
public String getApplicationTheme() {
return theme;
}
}
答案 2 :(得分:1)
确保在pom.xml中添加了依赖项(如果这是高级主题,请将手动jar添加到maven本地存储库,更多信息here)
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>{theme-name-here}</artifactId>
<version>{version-here}</version>
</dependency>
在web.xml中添加正确的配置以使用此主题。
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{theme-name-here}</param-value>
</context-param>
我有一个案例,一切都设置正确,但消息“错误加载主题,找不到”theme.css“primefaces主题库的资源”仍然出现。我解决了它:
这删除所有缓存文件,适合我。
答案 3 :(得分:0)
primefaces maven存储库中所有最新版本的主题都与5.1
兼容答案 4 :(得分:0)
你是否只包括了primefaces jar或主题?例如。使用maven,你需要一个关于primefaces的依赖项和一个主题或所有主题的依赖项。我忘了后者并得到了同样的例外。看看这里(向下滚动到&#34;安装&#34;):Primefaces/Themes