我有例如主题test
。如何在Primefaces中使用Java代码设置此主题?我不想使用上下文参数primefaces.THEME
,我不想使用<p:themeSwitcher>
。
答案 0 :(得分:6)
还有一种方法:将样式表包含在您的页面模板中:
<h:body>
<h:outputStylesheet library="primefaces-#{themesBean.theme}" name="theme.css" />
</h:body>
其中#{themesBean.theme}变量引用您主题的名称。
P.S。在PF5中测试
的相同答案答案 1 :(得分:1)
这是你需要做的(未经测试,但应该告诉你它应该如何工作)
代码:
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</param-value>
</context-param>
代码:
@Named @SessionScoped
public class LayoutBean
{
...
private String theme = "test";
...
public String getTheme()
{
return theme;
}
...
}
代码:
<link rel="stylesheet" href="#{request.contextPath}/themes/{layoutBean.theme}/skin.css" />
您可以在以下网址how to set a PrimeFaces theme?
上找到此解决方案