如何将菜单栏中的themeSwitcher与primefaces集成?

如何将菜单栏中的themeSwitcher与primefaces集成?,primefaces,themes,Primefaces,Themes,是否可以在菜单栏中使用或集成主题开关 我的想法是改变这一点: <p:themeSwitcher id="basic" value="#{themeSwitcherView.theme}" style="width:165px"> <f:selectItem itemLabel="Choose Theme" itemValue="" /> <f:sele

是否可以在菜单栏中使用或集成主题开关

我的想法是改变这一点:

<p:themeSwitcher id="basic" value="#{themeSwitcherView.theme}" style="width:165px">
    <f:selectItem itemLabel="Choose Theme" itemValue="" />
    <f:selectItems value="#{themeSwitcherView.themes}" />
    <p:ajax listener="#{themeSwitcherView.saveTheme}" />
</p:themeSwitcher>
(从…开始解决)


但不起作用,我得到了清单,但没有采取行动


谢谢

请阅读和[mvce]并改进您的问题!我们不是应该为您编写代码的人…免费的[mvce]应该是[mcve],;-)好的,我已经更改了我的帖子!并删除我的pesodo答案:-)此处列出了“未执行任何操作”的所有原因:我更改了
actionListener=“#{themeSwitcherView.saveTheme(项目)
public void saveTheme(字符串主题)
。但是,我无法为会话或上下文设置主题?
public void saveTheme(AjaxBehaviorEvent ajax) {   
    setTheme((String) ((ThemeSwitcher)ajax.getSource()).getValue());
}
<p:submenu label="Theme" >
     <c:forEach items="#{themeSwitcherView.themes}" var="item">                           
         <p:menuitem value="#{item}" actionListener="#{themeSwitcherView.saveTheme}" />
    </c:forEach>
</p:submenu>