2015-01-29 3 views
0

Я хочу применить правые темы Trontastic только для одной страницы jsf. Я прочел ответ ответить Applying PrimeFaces theme only for one JSF page Я сделал то же самое изменение в моем коде.Как применить тему jsf-сечений для одной jsf-страницы

Я загрузил и сохранил файл trontastic-1.0.10.jar в папке WEB-INF \ lib. Извлекла банку, и в папке «Ресурсы» я создал подпапку под названием «primefaces-trontastic». В этой папке я скопировал файл theme.css из темы, а также папку «images». В моем xhtml я добавил код ниже

<h:outputStylesheet library="primefaces-trontastic" name="theme.css" /> 

Но я не нашел никаких изменений на моей странице jsf. Нужно ли мне что-нибудь делать?

ответ

0

Я сам сделал это по-другому (без разархивирования, держа в синхронизации и т.д. ...)

PF поддерживает «динамических» тем, будучи в состоянии интерпретировать определение темы в web.xml, как EL

<context-param> 
    <param-name>primefaces.THEME</param-name> 
    <param-value>#{myPreferences.theme}</param-value> 
</context-param> 

Устанавливая фасоль «предпочтения» и задавая там название темы (см. Исходный код витрины, он делает это точно при использовании темы), вы можете переключиться. Вы можете, например, есть

<f:event type="preRenderView" listener="#{myPreferences.chooseTheme"} /> 

обобщенно в вашем шаблоне в методе взгляд chooseTheme на странице, которая грузили и установить тему, которую Вы хотите. Вы можете (и я не пробовал это), может быть, есть

<f:event type="preRenderView" listener="#{myPreferences.theme('one')"} /> 

в общий шаблон, и в определенной точки зрения, возможно, заменить его.

<f:event type="preRenderView" listener="#{myPreferences.theme('two')"} /> 

Но я не уверен, что если эта последняя работает