spring boot 基于yml整合jsp

对应习惯了jsp开发的朋友来说,使用spring boot的时候也想使用jsp怎么办?本文将图文并茂的讲解怎么在spring boot中使用jsp。

整合步骤:

1:pom.xml中引入需要的jar

2:在yml文件中添加对jsp的支持

3:编写controller及jsp页面进行测试

在pom.xml文件中添加对tomcat和jstl的支持:

org.apache.tomcat.embed

tomcat-embed-jasper

javax.servlet

jstl

在yml中添加支持jsp视图:

spring:

mvc:

view: # 页面默认前缀目录

prefix: /WEB-INF/jsp/

suffix: .jsp

在src\main\webapp\WEB-INF\下创建jsp及jsp\page文件夹

如果webapp\WEB-INF没有的话也需要创建

添加测试的页面:

在jsp文件夹下创建index.jsp在page文件夹下创建page1.jsp页面

在test包下创建PageController。

项目目录结构如下:

index.jsp页面:

page1.jsp页面:

PageController:

这个就是我们正常写的spring mvccontroller即可。

@Controller

public class PageController {

@RequestMapping(value = {"/","/index"})

public String index(Map model){

// 直接返回字符串,框架默认会去 spring.view.prefix 目录下的 (index拼接spring.view.suffix)页面

// 本例为 /WEB-INF/jsp/index.jsp

model.put("time", new Date());

model.put("message", "欢迎访问凯哥Java【kaigejava】");

return "index";

}

/**

* 响应到JSP页面page1

*/

@RequestMapping("/page1")

public ModelAndView page1(){

// 页面位置 /WEB-INF/jsp/page/page.jsp

ModelAndView mav = new ModelAndView("page/page1");

mav.addObject("content", "this pageModel page/page1");

return mav;

}

/**

* 响应到JSP页面page1(可以直接使用Model封装内容,直接返回页面字符串)

*/

@RequestMapping("/page2")

public String page2(Model model){

// 页面位置 /WEB-INF/jsp/page/page.jsp

model.addAttribute("content", hello + "(第二种)");

return "page/page1";

}

}

启动项目进行访问:

访问page1:

访问page2:

访问都正常,得到预期结果。说明spring boot整合jsp成功。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180719A0F6M900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动