是否可以在特定路径中包含其他jsp文件作为前奏和尾声?

时间:2019-07-09 12:58:38

标签: jsp servlets web.xml

我想让所有与URL模式匹配的JSP页面(例如* .do)都应包括其他JSP文件作为前奏和尾声。

例如,如果用户尝试在/main.do中进行连接,则Tomcat服务器应提供一个页面,该页面包含/view/prelude.jsp(作为标题),/ view / main.jsp(作为主窗口)内容)和/view/footer.jsp(作为尾声)。如果他尝试连接/login.do,则服务器应提供一个包含/view/prelude.jsp、/view/login.jsp和/view/coda.jsp的页面。

我写了web.xml,但是没有用。请注意,以下代码中提到的“ AddressController.class”将URL重定向到正确的特定JSP文件。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    xmlns:my="http://jakarta.apache.org/tomcat/jsp2-example-taglib"
    version="3.0">
    <display-name>My Project</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.do/url-pattern>
            <include-prelude>view/prelude.jsp</include-prelude>
            <include-coda>view/coda.jsp</include-coda>
        </jsp-property-group>
    </jsp-config>
    <servlet>
        <servlet-name>AddressController</servlet-name>
        <servlet-class>Controller.AddressController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AddressController</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

现在,我明白了上面的代码为什么不起作用,因为不可能在同一URL模式中同时使用jsp-property-group和servlet。但是,我不知道如何解决。

0 个答案:

没有答案