Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/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
Java 具有多个装饰器文件的sitemesh_Java_Spring Mvc_Sitemesh - Fatal编程技术网

Java 具有多个装饰器文件的sitemesh

Java 具有多个装饰器文件的sitemesh,java,spring-mvc,sitemesh,Java,Spring Mvc,Sitemesh,我需要多个decorator,如下所述:。我在decorators.xml中提供了多个decorator,但主decorator将应用于项目中的每个文件。 我的装饰师看起来像这样: <decorators defaultdir="/WEB-INF/decorators"> <decorator name="main" page="main.jspx"> <pattern>/*</pattern> </decora

我需要多个decorator,如下所述:。我在decorators.xml中提供了多个decorator,但主decorator将应用于项目中的每个文件。 我的装饰师看起来像这样:

<decorators defaultdir="/WEB-INF/decorators">
    <decorator name="main" page="main.jspx">
       <pattern>/*</pattern>
    </decorator>
    <decorator name="other" page="other.jspx">
        <pattern>/spring/other/*</pattern>
    </decorator>
</decorators>

/*
/春季/其他/*
/spring/some/page.jspx
/spring/other/page.jspx
都使用“main.jspx”模板呈现

我做错了什么?

请使用以下命令:

<decorators defaultdir="/WEB-INF/decorators"> 
    <decorator name="main" page="main.jspx"> 
       <pattern>/spring/main/*</pattern> 
    </decorator> 
    <decorator name="other" page="other.jspx"> 
        <pattern>/spring/other/*</pattern> 
    </decorator> 
</decorators> 

/弹簧/主/*
/弹簧/其他/*

告诉我它是否有效。

我知道文档示例与此想法相矛盾,但如果您需要尝试,请尝试重新订购您的装饰器,如下所示:

<decorators defaultdir="/WEB-INF/decorators"> 
    <decorator name="other" page="other.jspx"> 
        <pattern>/spring/other/*</pattern> 
    </decorator>
    <decorator name="main" page="main.jspx"> 
       <pattern>/*</pattern> 
    </decorator> 
</decorators> 

/弹簧/其他/*
/* 

根据记忆,我认为Sitemesh使用了第一个匹配的装饰器模式,并且按照您指定的顺序,始终是“主”装饰器。

这不起作用。实际上,我已经尝试了很多方法,唯一有效的方法(对于任何模板)是
/*
/context*
。例如,像
/context/x/*
这样的任何模式都不会得到应用。