2013-08-17 78 views
2

我想集成Spring 3和瓷砖3,我正在查看页面罚款和应用程序工作正常,但它给我下面的错误。 javax.servlet.ServletException: File "/WEB-INF/template/WEB-INF/template/layout.jsp" not found瓷砖3和弹簧3集成抛出异常

这是我的配置文件。

<bean class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.tiles3.TilesView"></property> 
    <property name="order" value="0"></property> 
</bean> 
<bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer" 
    id="tilesConfigurer"> 
    <property name="definitions" value="/WEB-INF/tiles.xml"></property> 
</bean> 
<bean id="messageSource" 
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="classpath:I18N/messages" /> 
    <property name="defaultEncoding" value="UTF-8" /> 
</bean> 
<bean id="localeResolver" 
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
    <property name="defaultLocale" value="en" /> 
</bean> 
<mvc:interceptors> 
    <mvc:interceptor> 
     <mvc:mapping path="/" /> 
     <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
      <property name="paramName" value="lang"></property> 
     </bean> 
    </mvc:interceptor> 
</mvc:interceptors> 

这是我tiles.xml

<tiles-definitions> 
<definition name="base.definition" 
    template='WEB-INF/template/layout.jsp'> 
    <put-attribute name="title" value="" /> 
    <put-attribute name="header" value="/WEB-INF/tile/header.jsp" /> 
    <put-attribute name="body" value="" /> 
    <put-attribute name="footer" value="/WEB-INF/tile/footer.jsp" /> 
</definition> 

<definition name="login" extends="base.definition"> 
    <put-attribute name="title" value="login" /> 
    <put-attribute name="body" value="/WEB-INF/tile/login.jsp" /> 
</definition> 

这里是我的layout.jsp

<body bgcolor=""> 
<table border="1" cellpadding="2" cellspacing="2" align="center"> 
    <tr> 
     <td height="20%" colspan="1"><tiles:insertAttribute 
       name="header" /></td> 
    </tr> 
    <tr> 
     <td width="350"><tiles:insertAttribute name="body" /></td> 
    </tr> 
    <tr> 
     <td height="10%" colspan="1"><tiles:insertAttribute 
       name="footer" /></td> 
    </tr> 
</table> 

我在做什么错在这里? 我花了几个小时,仍然无法弄清楚。

+0

尝试改变'WEB-INF /模板/ layout.jsp'为'layout.jsp' – soulcheck

+0

什么在这种情况下应该是layout.jsp的位置。它是否必须平行移动到WEB-INF。 – varun

回答

0

看例外:

javax.servlet.ServletException: File &quot;/WEB-INF/template/WEB-INF/template/layout.jsp&quot; not found 

瓷砖试图找到 “layout.js” 在/ WEB-INF /模板/ WEB-INF /模板。

<definition name="base.definition" 
    template='WEB-INF/template/layout.jsp'> 

尝试 “/” 模板路径之前添加:

<definition name="base.definition" 
    template='/WEB-INF/template/layout.jsp'> 
+0

它曾经是这样的,但我得到了一个更严重的错误。它多次渲染我的图块并导致堆栈溢出。 – varun

+0

请添加layout.jsp和其他页面到您的问题,以获得更多信息 – yname

+0

我添加了layout.jsp,请看看 – varun