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日

相关文章

  • javaweb配置jsp路径映射操作

    下面将为您详细讲解javaweb配置jsp路径映射操作的完整攻略。 一、什么是jsp路径映射 jsp路径映射是指通过web.xml配置,将请求的URL映射到对应的jsp页面。这样可以简化URL地址,让用户更方便的访问网站的各个页面。 二、配置jsp路径映射的步骤 在Web项目的WEB-INF目录下,打开web.xml文件。 找到标签,并添加以下代码块: &l…

    Java 2023年6月15日
    00
  • 深入了解MyBatis参数

    深入了解MyBatis参数 MyBatis是一款优秀的数据库持久化框架,在使用过程中主要涉及到参数的设置和传递。深入了解MyBatis参数对于提高MyBatis的性能和灵活性非常重要。 1. 参数的传递 MyBatis支持三种方式的参数传递: 1.1. 单个参数 单个参数是指只传递一个参数,使用最为简单。 Java代码 public interface Us…

    Java 2023年5月20日
    00
  • Spring Security基于JWT实现SSO单点登录详解

    Spring Security基于JWT实现SSO单点登录详解 什么是单点登录(SSO)? 单点登录(SSO)指的是用户只需要一次登录,就可以访问多个应用系统。在传统的系统中,我们需要为每一个系统单独注册,单独登录,对于用户来说,这是一种不便。 JWT是什么? JWT(JSON Web Token)是一种用于身份验证的开放标准。它是由 IETF(Intern…

    Java 2023年5月20日
    00
  • java数组输出的实例代码

    下面我将为您详细讲解“Java数组输出的实例代码”的完整攻略,包含以下内容: 数组的定义与初始化 数组元素的访问和输出 示例说明 数组的定义与初始化 在Java中,定义数组需要指定数组的类型和数组的大小,格式如下: 数据类型[] 数组名 = new 数据类型[数组大小]; 其中,数据类型可以为Java中的任意基本数据类型或引用类型,数组大小为正整数。 例如,…

    Java 2023年5月23日
    00
  • 搭建JavaWeb服务器步骤详解

    搭建JavaWeb服务器步骤详解 1. 选择合适的JavaWeb服务器 目前市场上比较流行的JavaWeb服务器有Tomcat、Jetty、Undertow等,选择适合自己的服务器进行搭建。 2. 下载并安装JavaWeb服务器 根据操作系统选择不同的版本进行下载,并按照官方指引进行安装。 3. 配置JavaWeb服务器 根据具体情况进行配置,比如设置端口号…

    Java 2023年5月19日
    00
  • java 如何将多种字符串格式 解析为Date格式

    要将多种字符串格式解析为Date格式,可以借助Java中的SimpleDateFormat类来实现。下面是完整的攻略: 确认要解析的日期字符串的格式在解析日期字符串之前,需要先确认要解析的日期字符串的格式。Java中通常使用日期格式化字符串来表示不同格式的日期字符串。例如,“yyyy-MM-dd HH:mm:ss”表示年份-月份-日时:分:秒的日期格式,而“…

    Java 2023年5月20日
    00
  • intellij idea创建第一个动态web项目的步骤方法

    下面是详细讲解“IntelliJ IDEA创建第一个动态Web项目的步骤方法”的完整攻略。 步骤一:安装和配置IntelliJ IDEA 1. 下载IntelliJ IDEA IntelliJ IDEA是一款非常好的Java集成开发环境,你可以在官网下载适合你的版本。选择适合的版本后按照提示完成下载和安装。 2. 安装Java JDK IntelliJ ID…

    Java 2023年6月15日
    00
  • maven 标签和标签的使用

    Maven是Java项目的一个重要构建工具,它允许我们轻松地管理项目依赖项和插件。 Maven中的repositories标签和pluginRepositories标签可以让我们指定Maven用于下载项目依赖项和插件的远程仓库。 标签 repositories标签让我们指定从哪些远程仓库中下载项目的依赖项。当Maven需要下载依赖项时,它将首先在本地仓库中查…

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