appfuse当中提供了多套css可以实现动态切换,达到改变外观风格的目的。
每个主题theme都放在web/styles/目录下面,每个主题一个文件夹。文件夹的名字就是主题的名字。在web.xml中配置缺省值:
<context-param>
<param-name>csstheme</param-name>
<param-value>simplicity</param-value>
</context-param>
在startupListener中获取参数放入到appConfig的HashMap当中去:
if (context.getInitParameter(Constants.CSS_THEME) != null) { config.put(Constants.CSS_THEME, context.getInitParameter(Constants.CSS_THEME)); }
最后在web/decorator/default.jsp当中进行使用:
<link rel="stylesheet" type="text/css" media="all" href="<c:url value='/styles/${appConfig["csstheme"]}/theme.css'/>" />