我有一个打包为 EAR 的基于 JSF 1.2 的 Java Web 应用程序。它包含几个 JAR 和一个提供 Web UI 作为前端的 WAR。WAR 包含 JSF 页面 (XHTML)、CSS 文件和其他网络资源,如图像。使用的构建系统是 maven 2(多模块项目)。
现在的目标是提供 Web-UI 的不同“风格”。每种风味都可以有不同的样式表和不同的图像,但功能相同。
问题是,我怎么能在没有太多代码重复/开销的情况下做到这一点。我想我必须创建几个 WAR 模块(每种风格一个)和几个依赖于不同 WAR 的 EAR。这样做的缺点是必须为每种口味添加另外两个具有所有配置的模块。所有的 JSF 页面都必须被复制,这真的不太好(好吧,通过单独的存档提供 XHTML 并使用Maven 的远程资源插件来共享远程资源可能会有所帮助)。
- 所描述的设置是解决我的问题的最佳方法还是有更好的方法?
- 有没有办法在运行时改变样式?即提供 CSS 文件和图像作为外部资源?
在此先感谢,
-马丁