springboot对jsp模板引擎的支持

Posted whhhd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot对jsp模板引擎的支持相关的知识,希望对你有一定的参考价值。

1.导入依赖:  

  <!--注意:spring boot对jsp的支持不是很好,在使用spring boot自带tomcat的同时,还需要引入另外的一个tomcat,以来如下所示,且scope属性需要被注释掉 -->
  <!--注掉的原因是:maven默认scope是compile,表示打包时会把此包打入jar包中,而provided表示打包时不会打如jar包中,因为它默认是jar包中会提供,说白了就是你标注了 provided tomcat-embed-jasper就不会被打入jar包中,项目跑起来就肯定会有问题了 tomcat-embed-jasper是tomcat下的插件用来支持jsp的-->
  <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <!--<scope>provided</scope> 注意,这个scope需要被注释掉-->
  </dependency>
  <!-- jsp标签库 -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
  </dependency>

2、创建相关文件夹和修改配置文件

  在src/main路径下创建一个文件夹webapp,然后在wepapp下面再创建一个文件夹WEB-INF,在WEB-INF下再创建一个文件夹jsp用来存放jsp页面(WEB-INF下的jsp页不能直接访问,必须通过控制器跳转)。我们还可以直接在webapp下创建一个hello.jsp,这个页面可以直接在浏览器中访问

  修改配置文件application.properties

#页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
#页面默认后缀目录
spring.mvc.view.suffix=.jsp

3、创建一个UserController.java3、创建一个UserController.java

package com.xdw.springbootdemo5;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class UserController {

    /**
     * 采用model往request域中存值,存入2个普通的字符串
     * @param model
     * @return
     */
    @RequestMapping(value = "/userinfo1",method = RequestMethod.GET)
    public String userinfo1(Model model) {
        String username = "xiadewang";
        String password = "123456";
        model.addAttribute("username", username);
        model.addAttribute("password", password);
        return "userinfo1";
    }

}

4.创建一个jsp页面userinfo1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <p>用户名:${username}</p>
    <p>密码:${password}</p>
</head>
<body>

</body>
</html>

bug日记:在pom文件中,每个子父元素之间都只能相隔一个空格

运行项目时,如果idea启动有bug,试试mvn启动springboot工程命令如下: mvn spring-boot:run 注:这里一定要切换到带有pom文件的根目录下执行该命令

以上是关于springboot对jsp模板引擎的支持的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot视图技术

Spring Boot基础教程8-web应用开发-模板引擎jsp

SpringBoot入门篇--Thymeleaf引擎模板的基本使用方法

Thymeleaf模板引擎

springboot中使用thymeleaf模板引擎

SpringBoot入门篇--使用Thymeleaf模板引擎进行页面的渲染