spring-servlet.xml的配置如下:
<!-- View Resolver -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>
<!-- View Resolver Configuration -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/views/tiles.xml</value>
</list>
</property>
</bean>
启动之后访问出错: Could not resolve view with name "xxx"
googled一个小时多以为是tiles配置没配好,之前用tiles2还好好的,后来发现是修改了web.xml,忘记把spring servlet设为load on startup了。修改成这样:
<servlet>
<servlet-name>spring-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
未设置的时候,当收到request时servlet才开始初始化,一些bean还没完全装配好,渲染视图出现错误。