发表于: 2018-02-26 23:38:55
1 480
今天完成的事情:
1,尝试写出tiles框架的demo,但是一直报错。情况如下:
先配置依赖,我配置的依赖是:
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.8</version>
</dependency>
然后配置SpringMVC.xml文件:
将之前的视图解析器改成tiles的视图解析器。如下:
<!-- 引入tiles配置文件 -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer" >
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
<!-- 配置视图解析器 -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.tiles3.TilesView</value>
</property>
</bean>
然后在web.xml中配置tiles的分发器
<listener>
</listener>
<servlet>
<servlet-name>Tiles Dispatch Servlet</servlet-name>
<servlet-class>org.apache.tiles.web.util.TilesDispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Tiles Dispatch Servlet</servlet-name>
<url-pattern>*.tiles</url-pattern>
</servlet-mapping>
然后配置tiles.xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
<tiles-definitions>
<definition name="/classic" template="/WEB-INF/jsp/classic.jsp">
<put-attribute name="title" value="Tiles tutorial homepage" />
<put-attribute name="header" value="/WEB-INF/jsp/banner.jsp" />
<put-attribute name="menu" value="/WEB-INF/jsp/common_menu.jsp" />
<put-attribute name="body" value="/WEB-INF/jsp/home_body.jsp" />
<put-attribute name="footer" value="/WEB-INF/jsp/credits.jsp" />
</definition>
</tiles-definitions>
最后就是配置controller,我设置了一个很简单的:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class StudentController {
@RequestMapping(value="classic", method = RequestMethod.GET)
public String test1() {
return "/classic";
}
}
但是运行之后报错,暂时也没有检查出来是哪里的问题。今天很晚了,明天继续搞。
报错信息如下:
明天计划:
完善动态页面,搞成tiles框架。
评论