我正在尝试动态地重新加载样式表(用 xhtml 编写)。
描述场景:
用户可以使用多种语言访问该应用程序;第一次加载应用程序时,会加载默认文件 master-styles.xhtml,现在来自某个控制屏幕的用户可以修改用户想要查看屏幕的语言。现在,我想为该特定语言加载不同的样式表,废弃当前使用的样式表(master-styles.xhtml);
我正在使用 JSF、richfaces 作为 UI 组件:
<html>
<head>
<sf:includeStyles />
<ui:insert name="globalStyles">
<ui:include src="/WEB-INF/flows/ui/core/resources/styles/master-styles.xhtml"/>
</ui:insert>
</head>
有没有办法放弃这个文件并加载另一个文件作为我的 CSS 的一部分;或者有其他方法可以解决这个问题吗?
谢谢。
最佳答案
如果我正确理解您的问题,您需要动态加载现在的页面 /master-styles.xhtml
,
可以在bean中设置页面名称,然后使用此代码可以动态加载所需的样式页面
<ui:insert name="globalStyles">
<ui:include src="/WEB-INF/flows/ui/core/resources/styles/#{ThemeBean.stylePage}.xhtml"/>
</ui:insert>
关于java - 动态加载样式表(xhtml 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459063/