所以我正在尝试为每个用户创建一个具有可自定义样式的网页。您可以将样式选项保存为 JSF bean 属性中的字符串,并通过内联样式属性或<style>
网页中的标签非常轻松地访问它们,但是谁再使用内联/页面样式?
有没有办法将这些属性从 JSF (2.0) bean 转发到我的样式表,或者我是否需要简单地将<style>
块添加到我希望可定制的页面?
编辑:我想我可以创建一个函数将这些属性写入样式表,为每个用户创建一个,但这显然不是首选。
所以我正在尝试为每个用户创建一个具有可自定义样式的网页。您可以将样式选项保存为 JSF bean 属性中的字符串,并通过内联样式属性或<style>
网页中的标签非常轻松地访问它们,但是谁再使用内联/页面样式?
有没有办法将这些属性从 JSF (2.0) bean 转发到我的样式表,或者我是否需要简单地将<style>
块添加到我希望可定制的页面?
编辑:我想我可以创建一个函数将这些属性写入样式表,为每个用户创建一个,但这显然不是首选。
我不确定您的功能到底是什么,但一种选择是 ->
<h:outputStylesheet library="css" name="#{userBean.styleSheetName}" />
“UserBean”具有工作表名称的位置。
或者,您可以在样式标签之间输出样式表(如您所说)。如果您想发疯,您可以编写一个读取用户会话并生成缓存样式表的 servlet。
对于您建议的功能,我肯定会采用 servlet 路线,但如果它只是用户可以访问的一组样式表,我可能会按照第一个示例使用简单的动态属性。
对于完全自定义,您可以保存所有可变元素及其样式选项的样式表,并在您的 bean 属性中引用它们。
由于那是相当多的样式表,您可以定义自己的样式方案并让用户在这些预定义的样式表之间进行选择。这并不能完全回答您的问题,但可以节省大量工作