Spring MVC 3 + Tiles 2 404错误。请求的资源不可用

时间:2014-05-13 06:02:58

标签: spring http-status-code-404 tiles

我的图块配置文件

<definition name="loginlayout" template="WEB-INF/layouts/login-layout.jsp">
    <put-attribute name="title" value="" />
    <put-attribute name="header"
        value="/WEB-INF/views/tiles/login-header.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="footer"
        value="/WEB-INF/views/tiles/login-footer.jsp" />
</definition>

<definition name="login" extends="loginlayout">
    <put-attribute name="body" value="/WEB-INF/views/login.jsp" />
</definition>

控制器方法

@RequestMapping(value = "/user/login", method = RequestMethod.GET)
    public ModelAndView login() {
        return new ModelAndView("login", "asiUser", new AsiUser());
    }

spring config xml

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
        <value>
            org.springframework.web.servlet.view.tiles2.TilesView
        </value>
    </property>
</bean>

<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/views/tiles/tiles.xml</value>
            <value>/WEB-INF/views/tiles/tilesdr.xml</value>
                <value>/WEB-INF/views/tiles/tilesone.xml</value>
        </list>
    </property>
</bean>

如果我删除&#39; / user /&#39;来自控制器的url部分。但是,如果我用它运行,它会抛出  &#34;请求的资源(/ast_intranet_v1/user/WEB-INF/layouts/login-layout.jsp)不可用&#34;

请帮我解决这个问题。我错过了一些基础知识吗?

1 个答案:

答案 0 :(得分:3)

您在WEB-INF前面缺少斜杠:

 <definition name="loginlayout" template="/WEB-INF/layouts/login-layout.jsp">

这会使路径相对于您当前的网址。