欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot实战之8 整合jsp模版引擎

程序员文章站 2022-05-26 10:00:44
...

历史文章

SpringBoot实战之入门

springboot实战之文章汇总

springboot实战之读取配置文件

一、简介

springboot支持多种模版引擎包括:
1. FreeMarker
2. Groovy
3. Thymeleaf (Spring 官网使用这个)
4. Velocity
5. JSP (貌似Spring Boot官方不推荐)

不过本文还是选择大家都熟悉的JSP来作为研究案例。

二、导包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

三、controller层

@Controller
public class ViewController {

    /**
     * @description <p></p>
     * @return
     * @author heshiyuan
     * @date 2017/12/2 20:56
     */
    @RequestMapping(value = {"/","/index"})
    public String index(HttpServletRequest request){
        request.setAttribute("content","this is index");
        request.setAttribute("time", Calendar.getInstance().getTime());
        // 自动映射到"/WEB-INF/jsp/"下
        return "index" ;
    }

    @RequestMapping("/toPage1View")
    public String page1(Model model){
        model.addAttribute("time",Calendar.getInstance().getTime()) ;
        model.addAttribute("content","this is page1");
        return "page/page1" ;
    }

    @RequestMapping("/toPage2View")
    public ModelAndView page1(ModelAndView modelAndView){
        modelAndView.setViewName("page/page2");
        modelAndView.addObject("time",Calendar.getInstance().getTime()) ;
        modelAndView.addObject("content","this is page1") ;
        return modelAndView;
    }
}

四、配置文件

spring.thymeleaf.cache=false
spring.thymeleaf.enabled=false
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

五、配置页面

index.html

<%@page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>主页</title>
</head>
<body>
    ${content}
    ${time}
</body>
</html>

page/page1.jsp page/page2.jsp均是类似的页面。

六、启动

@SpringBootApplication
public class SpringBootJspApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootJspApplication.class,args);
    }
}

七、项目结构图

SpringBoot实战之8 整合jsp模版引擎

最后

此demo最后没有运行运行成功,提示如下错误,正在解决当中,有线索的道友感谢提供帮助。
SpringBoot实战之8 整合jsp模版引擎

相关标签: jsp springboot