springboot中jsp配置tiles全过程

下面是Spring Boot中配置JSP和Tiles的整个过程及两个示例展示。

1. 引入JSP和Tiles依赖

首先,在pom.xml中添加JSP和Tiles的依赖:

<!--JSP依赖-->
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
  <scope>provided</scope>
</dependency>

<!--Tiles依赖-->
<dependency>
  <groupId>org.apache.tiles</groupId>
  <artifactId>tiles-jsp</artifactId>
  <version>3.0.8</version>
</dependency>

tomcat-embed-jasper依赖提供了JSP的支持,tiles-jsp依赖提供了Tiles的支持。

2. 配置JSP

接下来,在application.properties文件中添加以下配置:

# JSP配置
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

这里设置了JSP文件的默认路径为/WEB-INF/jsp/,文件后缀为.jsp

3. 配置Tiles

application.properties文件中添加以下配置:

# Tiles配置
tiles.definition.directory: /WEB-INF/tiles
tiles.definition.suffix: .tiles.xml

这里设置Tiles定义文件的默认路径为/WEB-INF/tiles,文件后缀为.tiles.xml

在项目的/WEB-INF目录下,创建一个tiles.xml文件,配置Tiles的定义,如下所示:

<?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="base" template="/WEB-INF/jsp/layout.jsp">
    <put-attribute name="title" value=""/>
    <put-attribute name="header" value="/WEB-INF/jsp/header.jsp"/>
    <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp"/>
    <put-attribute name="body" value=""/>
    <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp"/>
  </definition>
</tiles-definitions>

这里定义了一个名为base的Tiles模板,使用/WEB-INF/jsp/layout.jsp为模板,通过put-attribute标签设置了模板的五个部分:titleheadermenubodyfooter

/WEB-INF/jsp目录下,创建一个layout.jsp文件,代码如下:

<!DOCTYPE html>
<html>
<head>
    <title><tiles:insertAttribute name="title"/></title>
</head>
<body>
<header><tiles:insertAttribute name="header"/></header>
<nav><tiles:insertAttribute name="menu"/></nav>
<section><tiles:insertAttribute name="body"/></section>
<footer><tiles:insertAttribute name="footer"/></footer>
</body>
</html>

这里使用<tiles:insertAttribute>标签插入了模板的各个部分。

4. 示例展示1

/WEB-INF/tiles目录下,创建一个名为test.tiles.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="test" extends="base">
    <put-attribute name="title" value="Test Page"/>
    <put-attribute name="body" value="/WEB-INF/jsp/test.jsp"/>
  </definition>
</tiles-definitions>

这里定义了一个名为test的Tiles模板,扩展自base模板,通过put-attribute标签设置了模板的标题为Test Pagebody部分为/WEB-INF/jsp/test.jsp页面。

/WEB-INF/jsp目录下,创建一个名为test.jsp的文件,代码如下:

<h1>Test Page</h1>

这里只是一个简单的H1标签,表示/WEB-INF/tiles/test.tiles.xml中的body部分被成功引用。

在Controller中返回test字符串即可访问该页面,代码如下所示:

@Controller
@RequestMapping("/test")
public class TestController {
  @RequestMapping(method = RequestMethod.GET)
  public String test() {
    return "test";
  }
}

打开浏览器,访问http://localhost:8080/test,可以看到/WEB-INF/jsp/test.jsp页面被/WEB-INF/tiles/test.tiles.xml模板套用。

5. 示例展示2

/WEB-INF/tiles目录下,创建一个名为welcome.tiles.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="welcome" extends="base">
    <put-attribute name="title" value="Welcome"/>
    <put-attribute name="body" value="/WEB-INF/jsp/welcome.jsp"/>
  </definition>
</tiles-definitions>

这里定义了一个名为welcome的Tiles模板,扩展自base模板,通过put-attribute标签设置了模板的标题为Welcomebody部分为/WEB-INF/jsp/welcome.jsp页面。

/WEB-INF/jsp目录下,创建一个名为welcome.jsp的文件,代码如下:

<h1>Welcome</h1>

这里只是一个简单的H1标签,表示/WEB-INF/tiles/welcome.tiles.xml中的body部分被成功引用。

在Controller中返回空字符串即可访问该页面,并在@RequestMapping注解中添加name属性,代码如下所示:

@Controller
public class WelcomeController {
  @RequestMapping(value = "/", method = RequestMethod.GET, name = "welcome")
  public String index() {
    return "";
  }
}

打开浏览器,访问http://localhost:8080,可以看到/WEB-INF/jsp/welcome.jsp页面被/WEB-INF/tiles/welcome.tiles.xml模板套用。

到此,Spring Boot中配置JSP和Tiles的全过程介绍完毕。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot中jsp配置tiles全过程 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 使用Java 压缩文件打包tar.gz 包的详细教程

    使用Java压缩文件打包tar.gz包是一项非常重要的技能。下面是详细的攻略: 1. 确保环境准备就绪 在开始之前,我们需要确保环境准备就绪。首先,需要确保你已经安装了Java开发环境(JDK)。其次,需要下载和安装Apache Ant工具包。最后,需要确保Java编译器的bin文件夹被添加到环境变量中。 2. 建立Ant的build.xml文件 在进行Ja…

    Java 2023年5月19日
    00
  • SpringBoot如何防止XSS注入攻击详解

    当使用SpringBoot开发Web应用时,很容易遭受XSS注入攻击,这可能导致应用程序数据泄露。 SpringBoot提供了多种方式防止XSS攻击,本文将介绍其中两种方式: 1.使用thymeleaf模板引擎自动转义 Thymeleaf是一个流行的模板引擎,它支持HTML + CSS + JavaScript模板,是SpringBoot应用程序中的首选模板…

    Java 2023年5月20日
    00
  • IDEA项目使用SpringBoot+MyBatis-Plus的方法

    这里是详细的讲解“IDEA项目使用SpringBoot+MyBatis-Plus的方法”的完整攻略,包含了两条示例。 准备条件 为了完成本攻略,你需要事先准备以下条件: JDK 8及以上版本 IntelliJ IDEA 2020.3或以上版本 Maven 3.0及以上版本 SpringBoot 2.4.x版本 MyBatis-Plus 3.x版本 数据库(本…

    Java 2023年5月20日
    00
  • Spring boot Mybatis 整合(完整版)

    下面我就为您详细讲解“SpringbootMybatis整合(完整版)”的完整攻略。 简介 在介绍完整攻略之前,我先来简单介绍一下SpringBoot和Mybatis。 Spring Boot是Spring家族的一款新型的轻量级框架。它本身封装了许多传统配置,使开发人员可以非常迅速地开发Spring应用程序。而Mybatis则是一款持久层框架,用来操作数据库…

    Java 2023年5月15日
    00
  • java struts常见错误以及原因分析

    Java Struts常见错误以及原因分析 Java Struts是一种MVC架构的Web应用程序框架。在使用Java Struts开发Web应用程序时,可能会遇到各种各样的错误。在本篇文章中,我们将讨论一些常见的Java Struts错误以及可能的原因,并提供一些解决这些错误的方法和示例。 1. Struts中的空指针异常 在Java Struts应用程序…

    Java 2023年5月20日
    00
  • SpringBoot使用编程方式配置DataSource的方法

    当使用SpringBoot构建Web应用程序时,我们常常需要使用数据源,这里我们具体讲解使用编程方式配置DataSource的方法。 首先,需要在pom.xml文件中添加相应的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactI…

    Java 2023年5月19日
    00
  • dbcp 连接池不合理的锁导致连接耗尽解决方案

    为了讲解“dbcp连接池不合理的锁导致连接耗尽解决方案”,先来了解一下dbcp连接池的概念。 什么是dbcp连接池 dbcp连接池是一种用来存储连接和回收数据库连接的技术。它可以提供相对较快的数据库连接和释放之间的响应速度,以及对大量客户端请求进行响应的能力。 DBCP连接池出现的问题 但是,DBCP连接池也存在着一些问题。其中最显著的问题可能是连接池过度使…

    Java 2023年6月15日
    00
  • SpringBoot整合mybatis的方法详解

    下面我来为你详细讲解“SpringBoot整合mybatis的方法详解”的完整攻略。 准备工作 在maven中引入spring-boot-starter-jdbc、mybatis-spring-boot-starter、mysql-connector-java等依赖。 在application.properties中配置数据库信息和mybatis配置。 sp…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部