标签:tiles

以下是与标签 “tiles” 相关联的文章

spring 入门之 spring-mvc + Tiles

spring-mvc 入门之 Hello World! 基础上添加 tiles 内容。

添加 POM 依赖

<dependency>
  <groupId>org.apache.tiles</groupId>
  <artifactId>tiles-servlet</artifactId>
  <version>3.0.7</version>
</dependency>

<dependency>
  <groupId>org.apache.tiles</groupId>
  <artifactId>tiles-jsp</artifactId>
  <version>3.0.7</version>
</dependency>

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>

修改 spring01-servlet.xml

  • 删除 InternalResourceViewResolver 定义的 bean
  • 添加 tiles 配置器和解析器
<bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
  <property name="definitions">
    <list>
      <value>/WEB-INF/views/views.xml</value>
    </list>
  </property>
</bean>

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

添加 tiles 模板

新建 WEB-INF/views 目录

新建 views.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
  <definition name="template" template="/WEB-INF/views/template.jsp">
    <put-attribute name="header" value="/WEB-INF/views/header.jsp"/>
  </definition>

  <definition name="main" extends="template">
    <put-attribute name="content" value="/WEB-INF/views/content.jsp"/>
  </definition>
</tiles-definitions>

新建 jsp 模板文件

  • template.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>

<html>
<head>
  <title>Template</title>
</head>
<body>
  <tiles:insertAttribute name="header"/>
  <tiles:insertAttribute name="content"/>
</body>
</html>
  • 新建 header.jsp
<h1>this is header</h1>
  • content.jsp
<%@ page isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<p>Hello1, ${name} </p>
<p>Hello2, <c:out value="${name}"/> </p>