本文的初衷仅供自己做备忘笔记, 内容大多从网上搜集和整理, 并非都是自己原创.
参考的来源我会在后面注明, 对于可能遗漏的来源, 还请相关原创作者提醒, 非常感谢.
参考来源: 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 文件.
6a80345c.png
在其中使用EL 表达式显示放在HelloController的model中的当前时间。
pageEncoding="UTF-8"%>
Insert title hereHi JSP. 现在时间是 ${now}
启动测试
9f6a1dc8.png