JSF за задаване на стил в таблици със стилове?

Така че се опитвам да създам уеб страница с персонализиран стил за всеки потребител. Можете да запазвате стилови опции като низове в свойство на JSF bean и да осъществявате достъп до тях във вградени стилови атрибути или <style> тагове в рамките на уеб страница много лесно, но кой вече използва вграден/онстраницен стил?

Има ли някакъв начин да препратя тези свойства от JSF (2.0) bean към моя стилов лист или трябва просто да добавя <style> блока към страниците, които искам да бъдат персонализирани?

РЕДАКТИРАНЕ: Предполагам, че мога да създам функция за записване на тези свойства в лист със стилове, като направя по един за всеки потребител, но това очевидно не е за предпочитане.


person Austin    schedule 10.08.2012    source източник
comment
Можете да използвате EL изрази във вашия css, ако използвате маркера h:outputStylesheet.   -  person Adam    schedule 11.08.2012


Отговори (2)


За пълно персонализиране можете да запазите таблици със стилове за всички променливи елементи и техните опции за стил и да ги препоръчате с вашите свойства на bean.

Тъй като обаче това са доста малко стилови таблици, можете просто да дефинирате свои собствени стилови схеми и да дадете на потребителите избор между тези предварително дефинирани стилови таблици. Това не отговаря точно на въпроса ви, но би спестило много работа

person Jake Long    schedule 10.08.2012

Не съм сигурен точно каква е вашата функционалност, но една опция би била ->

<h:outputStylesheet library="css" name="#{userBean.styleSheetName}"  />

Където "UserBean" имаше имена на листове.

Като алтернатива можете просто да изведете таблицата със стилове (както казахте) между стиловите тагове. Ако искате да се побъркате, можете да напишете сървлет, който чете сесията на потребителя и генерира кеширана таблица със стилове.

Определено бих тръгнал по пътя на сървлета за функционалността, която предлагате, но ако това е просто "набор" от таблици със стилове, до които потребителите имат достъп, вероятно бих използвал просто динамично свойство, както в първия пример.

person Daniel B. Chapman    schedule 10.08.2012
comment
Трябва да кажа, че очевидно бихте ги поставили в resources/css/sheetName.css - person Daniel B. Chapman; 10.08.2012