<jsp:include>标签是否应用<include-prelude>和<include-coda>配置?

时间:2017-02-25 02:01:26

标签: java jsp servlets java-ee

我有一个servlet,它设置一个名为“snippet”的请求属性并转发到JSP页面。 JSP页面的运行时包括如下:

<jsp:include page="/WEB-INF/jsp/snippets/${snippet}.jsp/>

我还有以下定义:

<jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <page-encoding>UTF-8</page-encoding>
    <scripting-invalid>false</scripting-invalid>
    <include-prelude>/WEB-INF/jsp/top.jsp</include-prelude>
    <include-coda>/WEB-INF/jsp/bottom.jsp</include-coda>
    <trim-directive-whitespaces>true</trim-directive-whitespaces>
    <default-content-type>text/html</default-content-type>
</jsp-property-group>

我认为发生的事情是当<jsp:include>触发时,容器也会应用<include-prelude><include-coda>配置,因为我在响应中看到了一些奇怪的嵌套HTML代码。

问题是,使用<include-prelude>时是否可以应用<include-coda><jsp:include>?如果是这样,我该如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

给定How to load particular page without JSP include prelude and coda,答案似乎是创建一个单独的属性组。

我建议将它们放在子目录中。

<jsp-property-group>
    <url-pattern>/includes/*</url-pattern>
</jsp-property-group>