Spring boot(2):使用JSP作为模板引擎

在上次的学习中,我成功的完成了Springboot的HelloWorld,但是我在编写Controller的时候使用的是@RestController注解,这个注解是Spring4.0新出的一个注解,我觉得他是@Controller+@ResponseBody两个注解的集合,专门为那种响应式的Controller而设计的,可直接返回Json对象。@Controller就是用来响应页面的。SpringBoot可用的模板引擎有:

1,FreeMarker 
2,Groovy 
3,Thymeleaf 
4,Velocity 
5,JSP 

我原来一直就是用的JSP进行WEB开发的所以我选择使用JSP作为模板引擎。

在创建完项目之后,先将使用JSP作为模板引擎的Maven依赖导入进来


            org.apache.tomcat.embed
            tomcat-embed-jasper
            provided
        
        
            javax.servlet
            jstl
        

然后在application.properties添加如下内容:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
application.hello=Hello mkdlp
然后在src/main/webapp文件夹下创建WEB-NIF/jsp,将jsp页面都放在里面。

然后就要编写Controller了

PageController.java

package com.springboot.study.controller;

import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class PageController {
	
	@Value("${application.hello}")
	private String name;
	
	@RequestMapping(value={"/","/index"})
	public String index(Map model){
		model.put("name",this.name);
		return "index";
	}
	
	@RequestMapping("/page1")
    public ModelAndView page1(){
        // 页面位置 /WEB-INF/jsp/page/page.jsp
        ModelAndView mav = new ModelAndView("page/page1");
        mav.addObject("content", this.name);
        return mav;
    }

    @RequestMapping("/page2")
    public String page2(Model model){
        // 页面位置 /WEB-INF/jsp/page/page.jsp
        model.addAttribute("content", this.name + "(no.2)");
        return "page/page1";
    }
}
完成后的目录结构为:
Spring boot(2):使用JSP作为模板引擎_第1张图片

然后运行起来就行了,这样就能够使用JSP进行开发了

你可能感兴趣的:(springboot学习)