您的位置:首页 > 编程语言 > Java开发

springboot返回modelandview页面

2018-02-09 15:09 537 查看
1、添加依赖

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

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- jstl JSP标准标签库  -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- 返回jsp页面还需要这个依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>


2、application.properties

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>我这里是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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: