include-prelude没有使用Spring 4从web.xml中选取

时间:2015-02-11 16:00:55

标签: java spring jsp spring-mvc

您好我正在使用spring 4 MVC整合一个相当基本的应用程序。我使用的是配置java类而不是xml配置。我对此非常陌生,但所有人都在慢慢前进。我遇到了一个问题,因为我想在所有jsp页面视图中包含一个标题。

所以我已将include-prelude包含在我的web.xml文件中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">

<display-name>Web Application</display-name>
<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <include-prelude>/WEB-INF/views/include/header.jspf</include-prelude>        </jsp-property-group>
</jsp-config>
</web-app>

如果我将一个虚拟jsp文件添加到webapp文件夹(我使用maven和eclipse)并直接访问它,这是有效的。但是,它不适用于通过spring MVC访问的JSP。它在我继承的类似应用程序中工作,它在xml文件而不是java类中具有spring bootstrap配置。我不会拥有数百万页,所以我想我可以使用jsp:include但是......

有谁能告诉我应该如何获取header.jspf?理想情况下,我想在java类中保留配置,但也许我必须使用xml bootstrapping?

另外作为一个补充问题并不是我真正要求的问题,请忽略它是否反对所有规则(!)当我用Google搜索这一点时我会继续阅读JSP && #39; s不再是观看视频的方式了。我正在编写一个相当基本的Intranet表单应用程序(我最近从微软技术切换,所以如果你不喜欢这个术语,请道歉!)。你认为我应该使用除JSPs之外的其他东西吗? JSPF&#39; S

谢谢

2 个答案:

答案 0 :(得分:1)

如果您想知道OP问题的答案是什么,答案是简单地将其添加到web.xml tag(如果您使用的是Tomcat而不是GlassFish):

xmlns:my="http://jakarta.apache.org/tomcat/jsp2-example-taglib"

所以你的web.xml在开头应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>

<web-app
        version="3.0"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        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">

我希望这可以帮助你;)

答案 1 :(得分:0)

你可以使用jsp.There没有问题,你需要改变的唯一的事情是提供像 .jsp这样的url-mapping使用url mapping .abc,在这里你可以使用abc, xyz,ani,spring,do等等,而不是jsp。所以它会正常工作。 如果你在url映射中使用* .jsp并使用jsp作为视图,那么每次都会给你404.