springboot怎么替代jsp_SpringBoot中使用JSP

本文的初衷仅供自己做备忘笔记, 内容大多从网上搜集和整理, 并非都是自己原创.

参考的来源我会在后面注明, 对于可能遗漏的来源, 还请相关原创作者提醒, 非常感谢.

参考来源: https://www.cnblogs.com/zs-notes/p/9365705.html

Springboot的默认支持是Thymeleaf这样的模板引擎,不支持jsp。 所以下面说明如何让Springboot支持 jsp。

注: 该知识点在《SpringBoot快速入门(Eclipse)》上 。

修改pom.xml文件,添加对jsp支持

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.6.RELEASE

test

test-control-sundry

0.0.1-SNAPSHOT

test-control-sundry

test

1.8

Greenwich.SR1

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.boot

spring-boot-starter-aop

......

org.springframework.boot

spring-boot-starter-tomcat

provided

javax.servlet

javax.servlet-api

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

即下面这部分(jsp本身就是一个servlet,运行于服务器端,所以添加以下这两部分依赖和支持):

javax.servlet

javax.servlet-api

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

添加application.properties配置文件

在src目录下增加application.yml文件,用于视图重定向jsp文件的位置。

注意:jsp后面的“/”别忘了 !

spring:

mvc:

view:

prefix: /WEB-INF/jsp/

suffix: .jsp

修改Controller类

创建HelloController,注解为@Controller(注意不是@RestController )。

package cn.xdf.springboot.web;

import java.text.DateFormat;

import java.util.Date;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class HelloController {

@RequestMapping("/hello")

public String hello(Model m){

m.addAttribute("now",DateFormat.getDateTimeInstance().format(new Date()));

return "hello"; //视图重定向hello.jsp

}

}

这时返回"hello"就不再是字符串,而是根据application.yml中的视图重定向,到/WEB-INF/jsp目录下去寻找hello.jsp文件

创建hello.jsp文件

在main目录下,新建--> webapp/WEB-INF/jsp 目录, 随后新建hello.jsp 文件.

64e825521eee

6a80345c.png

在其中使用EL 表达式显示放在HelloController的model中的当前时间。

pageEncoding="UTF-8"%>

Insert title here

Hi JSP. 现在时间是 ${now}


启动测试

64e825521eee

9f6a1dc8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值