Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns decorator.xml中的可配置sitemesh模式_Design Patterns_Configuration_Decorator_Sitemesh - Fatal编程技术网

Design patterns decorator.xml中的可配置sitemesh模式

Design patterns decorator.xml中的可配置sitemesh模式,design-patterns,configuration,decorator,sitemesh,Design Patterns,Configuration,Decorator,Sitemesh,是否可以在decorator.xml中添加一些可配置参数? 我需要做一些事情,比如: <decorator name="sample" page="sample.jsp"> <pattern>/sample.${my.own.ext}</pattern> </decorator> <decorator name="example" page="example.jsp"> <pattern>/exam

是否可以在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> 

/示例。${my.own.ext}
/示例${my.own.ext}
在一些配置文件mycfg.parameters中,输入:

my.own.ext=myhtm

因此,它可以更改为其他服务

除了为其他服务创建许多decorator.xml文件之外,还有其他解决方案吗?

您可以在构建时在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>
String extension = System.getProperty("extension");
javax.servlet.Filter filter = new SiteMeshFilterBuilder()
    .addDecoratorMapping("/sample." + extension, "/sample.jsp")
    .addDecoratorMapping("/example." + extension, "/example.jsp")
    .build();