是否可以在decorator.xml中添加一些可配置的参数?我需要做一些类似的事情:
<decorator name="sample" page="sample.jsp">
<pattern>/sample.${my.own.ext}</pattern>
</decorator>
<decorator name="example" page="example.jsp">
<pattern>/example.${my.own.ext}</pattern>
</decorator> 并在一些配置文件中mycfg.parameters put:
my.own.ext=myhtm
因此可以将其更改为其他服务
除了为其他服务创建许多decorator.xml文件之外,还有其他解决方案吗?
发布于 2013-01-28 18:42:54
您可以在构建时使用maven resource filtering替换decorator.xml文件中的参数。
在maven pom.xml文件中,您可以这样定义属性/资源:
<project>
...
<properties>
<my.own.ext>html</my.own.ext>
</properties>
<resources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>WEB-INF/decorator.xml</include>
</includes>
</resource>
<resources>
...
</project>如果你没有使用maven,你可以使用the same in Ant。
或者,您可以使用Sitemesh Configuration: Medium Level, Assembly中描述的方法在运行时使用init-param/系统属性变量配置装饰器选择器。例如:
String extension = System.getProperty("extension");
javax.servlet.Filter filter = new SiteMeshFilterBuilder()
.addDecoratorMapping("/sample." + extension, "/sample.jsp")
.addDecoratorMapping("/example." + extension, "/example.jsp")
.build();https://stackoverflow.com/questions/14475641
复制相似问题