我有一个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>
?如果是这样,我该如何解决这个问题?
谢谢!
答案 0 :(得分:0)
给定How to load particular page without JSP include prelude and coda,答案似乎是创建一个单独的属性组。
我建议将它们放在子目录中。
<jsp-property-group>
<url-pattern>/includes/*</url-pattern>
</jsp-property-group>