我正在尝试集成Spring 3和Tiles 3,我正在查看页面正常,应用程序工作正常,但它给了我以下错误。
javax.servlet.ServletException: File "/WEB-INF/template/WEB-INF/template/layout.jsp" not found
以下是我的配置文件。
<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 :(得分:0)
看看例外:
javax.servlet.ServletException: File "/WEB-INF/template/WEB-INF/template/layout.jsp" not found
Tiles尝试在/ WEB-INF / template / WEB-INF / template中找到“layout.js”。
在
<definition name="base.definition"
template='WEB-INF/template/layout.jsp'>
尝试在模板路径前添加“/”:
<definition name="base.definition"
template='/WEB-INF/template/layout.jsp'>