凯哥Java-工作总结从零学Java笔录

spring boot 基于yml整合jsp

2018-07-22  本文已影响22人  凯哥Java

对应习惯了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成功。

上一篇下一篇

猜你喜欢

热点阅读