我使用servlet配置我的Spring Web应用程序以在URL处提供图像:
/imgsrv?imgid=12345
我也安装了Sitemesh,现在当我调用这个图像servlet时,我得到一个与这个servlet相关的装饰器异常,它不需要应用装饰器。
According to the Sitemesh docs,您可以排除某些网址没有应用装饰器,但语法对我来说并不清楚。
以下哪种模式最适合将上述网址排除在“装饰”之外:
<decorators defaultdir="/WEB-INF/view/decorators">
<excludes>
<pattern>/imgsrv*</pattern>
<pattern>/imgsrv/*</pattern>
<pattern>/imgsrv**</pattern>
<pattern>/imgsrv/**</pattern>
<pattern>/imgsrv*.*</pattern>
<pattern>/imgsrv/*.*</pattern>
</excludes>
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
答案 0 :(得分:8)
我认为这就够了:
<decorators defaultdir="/WEB-INF/view/decorators">
<excludes>
<pattern>/imgsrv</pattern>
</excludes>
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
您正在直接映射到已知的servlet路径。您不需要通配符来处理参数(如?imgid=12345
)。