springboot中jsp配置tiles全过程

yizhihongxing

下面是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基本类型和运算符(面试题)

    下面我将详细讲解一下“Java基本类型和运算符(面试题)”的完整攻略。 Java基本类型 Java基本类型共有8种,分别为:byte、short、int、long、float、double、char、boolean,其对应的基本类型在内存中占用的空间及范围不同。具体的描述如下表所示: 类型 字节数 取值范围 byte 1 -128到+127 short 2 …

    Java 2023年5月26日
    00
  • Struts2学习笔记(1)-入门教程

    针对您提出的问题,“Struts2学习笔记(1)-入门教程”的完整攻略,我提供如下回答: Struts2学习笔记(1)-入门教程 什么是Struts2 Struts2是一个MVC框架,它通过过滤器来检测请求,然后将请求分派给特定的Action来处理。在Action中执行完业务逻辑之后,再将结果返回给用户。 安装和配置Struts2 1.从Struts2的官网…

    Java 2023年5月20日
    00
  • 详细总结Java组合模式

    详细总结Java组合模式 什么是组合模式? 组合模式是一种结构型设计模式,允许你将对象组合成树形结构来表现“整体/部分”层次关系。组合能让客户端以一致的方式处理个别对象以及对象组合。 组合模式涉及到两种类型的对象:一种是组合对象,包含其他对象,可以是组合对象或者叶子对象;另一种是叶子对象,不包含其他对象。 组合模式的结构 组合模式包含以下几个角色: 组件(C…

    Java 2023年5月26日
    00
  • Tomcat中catalina.out 和 catalina.log的区别和用途详解

    Tomcat是一个基于Java的开源Web服务器,它是一种轻量级应用服务器,功能强大,广泛应用于Web应用程序的开发和部署。Tomcat中的catalina.out和catalina.log是服务器日志文件,这两个文件虽然非常重要,但作用有一些差别。 catalina.out catalina.out是Tomcat的标准输出文件,它记录了Tomcat启动、停…

    Java 2023年5月19日
    00
  • Java如何搭建一个个人网盘

    搭建个人网盘是一项不错的技术挑战,如果你有一定的Java编程经验,那么就可以利用Java来完成个人网盘的搭建。以下是一个简单的Java搭建个人网盘的攻略: 开发环境准备 首先,你需要一个完整的Java开发环境。安装JDK并配置相应的环境变量,建议使用JDK 8或以上版本。其次,你需要一个开发工具,例如Eclipse或IntelliJ IDEA等IDE。当然,…

    Java 2023年5月26日
    00
  • SpringBoot+MySQL+Jpa实现对数据库的增删改查和分页详解

    前置知识: 在学习本篇攻略之前,需要熟悉如下知识: SpringBoot: 一款基于Spring框架的快速开发脚手架工具,可以快速创建Spring应用 MySQL: 一款流行的关系型数据库 JPA: Java持久化API,是一套标准的ORM框架 步骤: 1.配置MySQL数据库 首先需要进行mysql数据库的安装和配置。这里不再赘述,建议在官网上进行下载和安…

    Java 2023年5月20日
    00
  • 如何在java 8 stream表达式实现if/else逻辑

    在Java 8中,Stream API已成为编写更具可读性和功能性的代码的核心。 在Stream API中实现if/else逻辑可以使用filter()和forEach()方法配合完成。 在filter()中我们可以输入lambda表达式作为参数,作为逻辑判断的条件。而在forEach()中,我们可以输入lambda表达式来处理符合条件的流。 下面为你提供两…

    Java 2023年6月15日
    00
  • SpringBoot之webflux全面解析

    Spring Boot WebFlux是Spring Boot的一个重要特性,它提供了一种基于响应式编程模型的Web开发方式。以下是Spring Boot WebFlux的完整攻略: 添加WebFlux依赖 在Spring Boot中,我们可以使用Maven或Gradle来添加WebFlux依赖。以下是一个Maven的示例: <dependency&g…

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