java - 为 Sitemesh 选择合适的 url 模式以从其装饰器中排除我的 servlet?

标签 java regex servlets spring-mvc sitemesh

我用一个 servlet 配置了我的 Spring web 应用程序以在 URL 处提供图像:

/imgsrv?imgid=12345

我还安装了 Sitemesh,现在当我调用这个图像 servlet 时,我得到一个与这个 servlet 相关的装饰器异常,它不需要应用装饰器。

According to the Sitemesh docs ,您可以将某些 URL 排除在应用装饰器之外,但语法对我来说并不清楚。

以下哪种模式似乎最正确,可以将上述 URL 排除在“修饰”之外:

<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>

最佳答案

我认为这就足够了:

<decorators defaultdir="/WEB-INF/view/decorators">
    <excludes>
        <pattern>/imgsrv</pattern>
    </excludes>
    <decorator name="main" page="main.jsp">
        <pattern>/*</pattern>
    </decorator>
</decorators>

您正在直接映射到已知的 servlet 路径。您不需要通配符来处理参数(如 ?imgid=12345 中所示)。

关于java - 为 Sitemesh 选择合适的 url 模式以从其装饰器中排除我的 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699330/

相关文章:

java - 如何使用 Struts 2 下载本地文件

java - 如何管理消费应用程序的 JAR 依赖项

java - 找不到 jpype+pdfbox 类

c# - 使用正则表达式在 Visual Studio 搜索框中搜索电子邮件地址

php - Preg_match_all - </h2> 标记后的第 2 个段落

java - 如何从 HttpServletRequest 创建 okhttp3 请求?

java - 处理来自 Servlet 的 Jquery AJAX 响应中的异常

java - 如何在 GUI (java) 中显示 void 函数?

java - 如何向 JPanel 添加背景,然后在该 JPanel 上添加 JButton

c++ - 如何散列 std::regex?