springboot返回html和jsp的方法示例

下面是关于“springboot返回html和jsp的方法示例”的完整攻略。

1. 返回HTML的方法示例

1.1 准备工作

在Spring Boot的Web项目中,我们需要使用Thymeleaf模板引擎来返回HTML页面。因此,我们需要在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

1.2 创建HTML模板

在项目的src/main/resources/templates目录下创建一个名为hello.html的HTML模板文件,其内容如下:

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello, [[${name}]]!</h1>
</body>
</html>

在这个模板中,我们使用了Thymeleaf的语法来动态地渲染页面中的数据。我们定义了一个名为name的参数,并在页面中使用[[${name}]]来引用它。

1.3 编写Controller

在项目的src/main/java目录下创建一个名为HelloControllerJava文件,其内容如下:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "hello";
    }

}

这个Controller定义了一个/hello路由,并在其中使用了@RequestParam注解来接受名为name的参数。如果没有传递该参数,则使用默认值"World"。然后,我们使用Model对象将name参数传递给模板,并将模板的名称返回。

1.4 运行项目

现在我们可以启动项目并访问http://localhost:8080/hello?name=John来查看运行效果了。在浏览器中会显示一个Hello John的页面,其中名字是根据请求参数动态生成的。

2. 返回JSP的方法示例

2.1 准备工作

在Spring Boot中使用JSP需要额外的依赖,因此我们需要在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

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

2.2 创建JSP文件

在项目的src/main/webapp/WEB-INF目录下创建一个名为hello.jsp的JSP页面文件,其内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello, <%=request.getParameter("name")%>!</h1>
</body>
</html>

在这个JSP页面中,我们使用了<%=request.getParameter("name")%>来获取名为name的请求参数,并将其插入到页面中。

2.3 编写Controller

在项目的src/main/java目录下创建一个名为HelloController的Java文件,其内容如下:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String hello(@RequestParam(name="name", required=false, defaultValue="World") String name) {
        return "hello";
    }

}

这个Controller同样定义了一个/hello路由,并在其中使用了@RequestParam注解来接受名为name的参数。如果没有传递该参数,则使用默认值"World"。然后,我们将页面的名称hello返回。

2.4 运行项目

现在我们可以启动项目并访问http://localhost:8080/hello?name=John来查看运行效果了。在浏览器中会显示一个Hello John的页面,其中名字是根据请求参数动态生成的。注意,在使用JSP时,需要将页面放在src/main/webapp目录下,否则可能无法正常访问。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot返回html和jsp的方法示例 - Python技术站

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

相关文章

  • java实现构造无限层级树形菜单

    Java实现构造无限层级树形菜单的攻略 背景 在Web开发中,经常会用到树形菜单,这种菜单常常存在多级目录结构,是一种比较典型和重要的web组件。如何实现树形菜单呢? 算法 实现树形菜单的算法其实比较简单,一般情况下采用递归的方式实现。基本思路是:先找到父节点,再找到其下面的子节点,然后再利用递归进行处理,以此达到构造完整的树形结构。 代码示例 下面给出一个…

    Java 2023年5月19日
    00
  • 浅谈SpringBoot优化技巧

    SpringBoot优化技巧 SpringBoot是目前广泛应用于Java web开发中的一款优秀框架,其简化了开发流程、提高了开发效率、提升了代码的可维护性,在实际开发中应用广泛。但是,一些不良操作或者技术栈的选择不当,会导致性能问题出现。 为了解决这些问题,我们需要对SpringBoot进行优化。在本文中,我将详细介绍一些SpringBoot的优化技巧,…

    Java 2023年5月15日
    00
  • Java面试题冲刺第二十七天–JVM2

    Java面试题冲刺第二十七天–JVM2 1. 内存模型 Java内存模型主要分为两种: 堆内存:存放我们new出来的对象以及数组等,这部分内存可以动态申请或释放。一般情况下,堆内存比较大。 栈内存:存放基本类型的变量以及对象的引用变量(指针),这些变量会随着程序的运行而申请或释放。栈的空间比较小,一般情况下,栈的大小是在程序启动的时候就固定下来。 2. J…

    Java 2023年5月19日
    00
  • Java查看线程运行状态的方法详解

    下面是Java查看线程运行状态的方法详解的完整攻略: 什么是线程状态 Java线程有以下几种状态: NEW:刚创建线程,还未执行start()方法。 RUNNABLE:线程执行了start()方法,等待CPU调度执行。 BLOCKED:线程被阻塞,等待获取一个锁。 WAITING:线程等待另一个线程执行一个特定的action,无超时时间。 TIMED_WAI…

    Java 2023年5月19日
    00
  • C#算法之无重复字符的最长子串

    C#算法之无重复字符的最长子串 问题描述 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最…

    Java 2023年5月31日
    00
  • Java内部类的使用教程详解

    Java内部类的使用教程详解 Java中的内部类是一个非常神奇的特性,它允许我们在一个Java类中定义另一个Java类。在这篇文章中,我们会详细讲解Java内部类的使用方法和注意事项。 内部类的类型 Java中的内部类分为四种类型:静态内部类、非静态内部类、局部内部类和匿名内部类。 静态内部类 静态内部类是定义在类中的普通静态类,可以像普通类一样使用。它可以…

    Java 2023年5月19日
    00
  • Java实现字符串反转

    下面我将详细讲解Java实现字符串反转的完整攻略,包含以下内容: 反转字符串的常规思路 Java中的三种实现方式 示例说明 1. 反转字符串的常规思路 在进行Java实现字符串反转之前,我们先来了解下反转字符串的常规思路。一般来说,我们可以先将字符串转换为字符数组,然后再通过双指针的方式进行反转,具体步骤如下: 将字符串转换成字符数组; 定义头指针head指…

    Java 2023年5月29日
    00
  • window.top[_CACHE]实现多个jsp页面共享一个js对象

    实现多个JSP页面共享一个JS对象,可以通过在不同的JSP页面中引入同一个JS文件来实现,但是如果需要在这些JSP页面通过JS互相访问/修改同一个对象,就需要使用window.top[_CACHE]机制。 下面是具体的实现步骤: 步骤1:定义一个全局的JS对象 在你的JS文件中,定义一个全局对象,例如: var mySharedObject = { coun…

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