SpringBoot使用Jsp的示例代码

下面是 Spring Boot 使用 JSP 的详细攻略,内容包括:

下面是 Spring Boot 使用 JSP 的详细攻略,内容包括:

  1. 添加 Maven 依赖
  2. 配置 Spring Boot
  3. 创建 JSP 页面
  4. 创建 Controller 类
  5. 运行并访问页面

1. 添加 Maven 依赖

首先在 pom.xml 文件中添加以下依赖:

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

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

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

其中:

  • spring-boot-starter-web:Spring Boot Web 应用的核心依赖;
  • jstl:JSP 标签库依赖;
  • tomcat-embed-jasper:Tomcat JSP 解析器依赖。

2. 配置 Spring Boot

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

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

其中:

  • spring.mvc.view.prefix:JSP 视图文件路径前缀;
  • spring.mvc.view.suffix:JSP 视图文件后缀。

3. 创建 JSP 页面

在 src/main/webapp/WEB-INF/views/ 目录下创建 JSP 视图文件。例如,我们创建一个 home.jsp 文件,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Home</title>
</head>
<body>
    <h1>Hello, <%=name%>!</h1>
</body>
</html>

其中,<%=name%> 表示在后面的 Controller 类中传递到模板中的数据。

4. 创建 Controller 类

在 src/main/java/com/example/demo/ 目录下创建 HomeController 类,代码如下:

package com.example.demo;

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

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(ModelMap model) {
        model.addAttribute("name", "World");
        return "home";
    }

}

其中:

  • @Controller:声明这是一个 Spring MVC 控制器类;
  • @GetMapping("/"):映射根路径,即 http://localhost:8080/;
  • ModelMap:Spring MVC 模型对象,用于传递数据到视图中。

5. 运行并访问页面

最后,在终端中进入项目根目录,运行以下命令:

mvn spring-boot:run

此时,在浏览器中访问 http://localhost:8080/,即可看到页面输出 “Hello, World!”。

示例说明1

如果我们在 home() 方法中传递 model.addAttribute("name", "Bob");,则页面会输出 “Hello, Bob!”。

示例说明2

如果我们在 JSP 页面中加入一个表单,并将表单提交到一个新的页面。可以按照以下步骤来实现:

  1. 在 JSP 页面中加入表单:
<form role="form" action="/submit" method="POST">
    <div class="form-group">
        <label for="name">请输入名字:</label>
        <input type="text" class="form-control" id="name" name="name" />
    </div>
    <button type="submit" class="btn btn-default">提交</button>
</form>
  1. 创建一个新的 Controller 类来接受表单提交,并返回新的页面:
@Controller
public class SubmitController {

    @PostMapping("/submit")
    public String submit(@RequestParam String name, ModelMap model) {
        model.addAttribute("name", name);
        return "submit";
    }

}

其中:

  • @PostMapping("/submit"):将表单提交到 /submit 路径,使用 POST 方法;
  • @RequestParam String name:通过 RequestParam 注解获取表单中传递的 name 参数;
  • ModelMap:将传递的 name 参数添加到模型中。

  • 创建新的 JSP 页面 submit.jsp,用于展示表单提交成功的页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>提交成功</title>
</head>
<body>
    <h1>提交成功!您输入的名字是 <%=name%></h1>
</body>
</html>
  1. 在 application.properties 文件中添加新的视图配置:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

# 新增以下配置
spring.mvc.static-path-pattern=/static/**

其中:

  • spring.mvc.static-path-pattern=/static/**:表示将静态文件(如 css、js 等)放在 static 目录下,访问路径以 /static/ 开头。

  • 在 static 目录下创建一个 css 文件,例如 static/style.css:

/* 样式表 */
h1 {
    color: #337ab7;
}

在 submit.jsp 文件头部加入以下代码,引入样式表:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>提交成功</title>
    <link rel="stylesheet" type="text/css" href="/static/style.css" />
</head>
<body>
    <h1>提交成功!您输入的名字是 <%=name%></h1>
</body>
</html>
  1. 运行并访问页面

最后,在终端中进入项目根目录,运行以下命令:

mvn spring-boot:run

此时,在浏览器中访问 http://localhost:8080/,输入名字并点击提交按钮,即可看到提交成功的页面,上面展示了输入的名字和样式表设置的标题颜色。

本文标题为:SpringBoot使用Jsp的示例代码

基础教程推荐