springboot返回modelandview页面

1、添加依赖

这个应该是web项目相关的jar

		
			org.springframework.boot
			spring-boot-starter-web
		

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

2、application.properties


	
		org.springframework.boot
		spring-boot-starter-parent
		1.5.10.RELEASE
		 
	
我这里是parent是1.5.10,所以jsp的配置应该如下

#jsp path
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
老版本的应该是这个

spring.view.prefix=/WEB-INF/jsp/
spring.view.suffix=.jsp

3、控制器

因为是返回页面,所以不能用@RestController返回json格式

package com.example.demo.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@Controller
/*@ComponentScan*/
@RequestMapping("/test")
public class TestController {
	
	private final Logger log = LoggerFactory.getLogger(this.getClass());
	
	@RequestMapping(value = "queryMaterialType", method = RequestMethod.POST)
	public Object test(){
		log.info("--------------->>打印日志");
		return "hellow world";
	}
	
	//@RestController,返回json数据
	//@Controller,返回login.jsp页面
	@RequestMapping(value = "/login", method = RequestMethod.GET)
	public String login(HttpServletRequest request,HttpServletResponse response){
		
		return "login";
	}
	
	//无论是@RestController还是@Controller都不影响返回页面
	@RequestMapping(value = "/loginPage", method = RequestMethod.GET)
	public ModelAndView loginPage(HttpServletRequest request,HttpServletResponse response){
		ModelAndView mav = new ModelAndView();
		mav.setViewName("login");
		
		return mav;
	}
}




你可能感兴趣的:(springboot)