spring boot 基于yml整合jsp

作者: 凯哥Java | 来源:发表于2018-07-22 18:23 被阅读22次

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

    相关文章

      网友评论

        本文标题:spring boot 基于yml整合jsp

        本文链接:https://www.haomeiwen.com/subject/qzuzpftx.html