Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单个JSF应用程序中的多个Primefaces主题_Jsf_Primefaces_Themes - Fatal编程技术网

单个JSF应用程序中的多个Primefaces主题

单个JSF应用程序中的多个Primefaces主题,jsf,primefaces,themes,Jsf,Primefaces,Themes,我们需要在单个web应用程序中使用多个primefaces JSF主题,我们在应用程序中有几个模块,每个模块都有自己的几个屏幕,我们希望每个模块都有不同的primefaces主题 请任何人告诉我们如何实现这一目标 在web.xml中,我们指定了: <context-param> <param-name>primefaces.THEME</param-name> <param-value>start</param-value&g

我们需要在单个web应用程序中使用多个primefaces JSF主题,我们在应用程序中有几个模块,每个模块都有自己的几个屏幕,我们希望每个模块都有不同的primefaces主题

请任何人告诉我们如何实现这一目标

在web.xml中,我们指定了:

<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>start</param-value>
  </context-param>

主题
开始

谢谢,每页你都能找到。在web.xml中,您可以编写:

<context-param>
   <param-name>primefaces.THEME</param-name>
   <param-value>#{sessionBean.userTheme}</param-value>
</context-param>

主题
#{sessionBean.userTheme}
并在每次页面更改时在backingbean中设置userTheme

否则,可以扩展primefaces组件。
然后为每个组件指定特定主题。

在Web.xml文件中设置primefaces主题将影响整个应用程序,但有一种解决方法,如下所示:

  • 下载所需的primefaces主题作为jar文件(例如:sunny)
  • 在web资源文件夹中,创建子文件夹“primefaces sunny”
  • 提取主题jar并将“theme.css”和“images”文件夹复制到创建的子文件夹“primefaces sunny”中
  • 现在为每个模块创建一个模板(facelet模板)
  • 在每个模板中包括目标样式表
  • 让模块中的每个页面使用模块模板页面
  • 就这样:)