springboot支持jsp并传参

springboot本身并不支持jsp,官方建议不使用jsp,而是将资源模板或静态文件放在resource下的static和template的文件夹下;

故要使用jsp,就需要引入一些包,使用tomcat来支持jsp;

1、pom.xml

先修改打包方式为war包,默认的是jar包

导入以下几个jar包,

<!-- 支持jsp -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--  <scope>provided</scope>-->
        </dependency>
        <!-- JSTL (JSP standard Tag Library) JSP 标准标签库 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
有的资料上说还要导入一个包,但是我没有导入这个jar也是成功的,你可以看你情况,若失败就可以导入这个jar包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
</dependency>

2、导包完成后,修改你的配置文件,我的是yml格式的,

#支持jsp
spring:
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp

prefix确定jsp的文件路径,你可以改到你的路径下;

suffix 是指定jsp文件的后缀;

3、开发你的jsp文件,并放到你配置文件配置的目录下,这是我的目录结构,在main文件下(java同级目录),新建你指定的路径,我的是 webapp---》WEB-INF---》editor.jsp,若上一步你的是/WEB-INF/jsp/ ,那这里就是 webapp---》WEB-INF---》jsp---》editor.jsp了。

 

4、开发你的controller(我用controller开发,若你用servlet,可以参考其他资料,但是之前的配置是不变的)

@Controller
public class TestController {


    @RequestMapping("/test")
    public String test(HttpServletRequest request, HttpServletResponse response) {
        return "editor";
    }


}

这里划重点了,记住注解要是@Controller 而不是常用的@RestController,因为后者会默认返回json数据,

RestController = Controller  + responseBody

至此这样配置完成后,重启你的项目就可以了。直接启动application类就可以了。

 

以下是给jsp页面传值,我采用的是  Request.setAttribute(name, value);

controller在返回的时候返回 字符串就可以了;

若你像使用其他方式,例如ModelAndView,请参考

https://www.cnblogs.com/xuange306/p/6398090.html

这里写的很详细了,大牛。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章