欢迎访问宙启技术站
智能推送

springboot如何返回html和jsp

发布时间:2023-05-14 01:36:29

Spring Boot 是一种易于使用、功能强大的 Java Web 开发框架。在 Spring Boot 中,可以使用多种方式返回 HTML 和 JSP 页面。下面将介绍 Spring Boot 返回 HTML 和 JSP 的三种常用方式。

一、返回 HTML

1.使用 Thymeleaf 模板引擎

Thymeleaf 是一种常用的 Java 模板引擎,可以将 HTML 文件中的变量替换为传入的数据,生成最终的 HTML 文件。在 Spring Boot 中,只需要在 pom.xml 文件中添加如下依赖:

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

然后在 Controller 中使用 @GetMapping 注解来获取请求,最后通过 ModelAndView 对象返回 HTML 页面。下面是一段示例代码:

@GetMapping("/hello")
public ModelAndView hello() {
    ModelAndView mav = new ModelAndView("hello");
    // 将数据存入 ModelAndView 对象中
    mav.addObject("name", "World");
    return mav;
}

2.使用 Freemarker 模板引擎

Freemarker 是另一种常用的 Java 模板引擎,用于生成 HTML、XML 等文件。在 Spring Boot 中,可以使用下面的依赖添加 Freemarker 支持:

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

然后编写一个 Controller 类,使用 @GetMapping 注解来获取请求,最后通过 ModelAndView 对象返回 HTML 页面。下面是一段示例代码:

@GetMapping("/hello")
public ModelAndView hello() {
    ModelAndView mav = new ModelAndView("hello");
    // 将数据存入 ModelAndView 对象中
    mav.addObject("name", "World");
    return mav;
}

二、返回 JSP

1.使用 JSP 视图解析器

在 pom.xml 文件中添加以下依赖来支持 JSP:

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

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

需要注意的是,要将 JSP 文件放在名为 /WEB-INF/views 的目录下。然后编写一个 Controller 类,使用 @GetMapping 注解获取请求,最后返回 JSP 页面。下面是一段示例代码:

@GetMapping("/hello")
public String hello(Model model) {
    // 将数据存入 Model 对象中
    model.addAttribute("name", "World");
    // 返回 JSP 页面
    return "hello";
}

2.使用 Spring Boot JSP 视图解析器

Spring Boot JSP 视图解析器是一种方便使用的 JSP 视图解析器,支持在 JSP 文件中使用 JSTL 标签库和 EL 表达式。在 pom.xml 文件中添加以下依赖来支持 Spring Boot JSP:

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

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-el</artifactId>
</dependency>

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

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

然后编写一个 Controller 类,使用 @GetMapping 注解获取请求,最后返回 JSP 页面。下面是一段示例代码:

@GetMapping("/hello")
public String hello(Model model) {
    // 将数据存入 Model 对象中
    model.addAttribute("name", "World");
    // 返回 JSP 页面
    return "hello";
}

以上是 Spring Boot 返回 HTML 和 JSP 的三种常用方式,每种方式都有其优缺点,开发者可以根据实际情况选择最合适的方式。