首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >decorator.xml中可配置的sitemesh模式

decorator.xml中可配置的sitemesh模式
EN

Stack Overflow用户
提问于 2013-01-23 16:51:57
回答 1查看 1.7K关注 0票数 0

是否可以在decorator.xml中添加一些可配置的参数?我需要做一些类似的事情:

代码语言:javascript
复制
<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文件之外,还有其他解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2013-01-28 18:42:54

您可以在构建时使用maven resource filtering替换decorator.xml文件中的参数。

在maven pom.xml文件中,您可以这样定义属性/资源:

代码语言:javascript
复制
<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/系统属性变量配置装饰器选择器。例如:

代码语言:javascript
复制
String extension = System.getProperty("extension");
javax.servlet.Filter filter = new SiteMeshFilterBuilder()
    .addDecoratorMapping("/sample." + extension, "/sample.jsp")
    .addDecoratorMapping("/example." + extension, "/example.jsp")
    .build();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14475641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档