1. 程式人生 > >spring boot 使用視圖modelandview

spring boot 使用視圖modelandview

col url run req username data nal not ica

1:springboot使用視圖解析器,添加依賴

        <!-- freemarker模板引擎視圖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

        <!-- 熱部署,不用重啟 ,這個在這裏不需要
--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- jsp解析器 --> <dependency>
<groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>

2:主函數需要繼承SpringBootServletInitializer,並覆蓋其方法。

package com.liyafei;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; @EnableAutoConfiguration @SpringBootApplication //返回jsp頁面必須繼承SpringBootServletInitializer類重寫裏面的方法 public class Main extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(Main.class, args); } protected SpringApplicationBuilder config(SpringApplicationBuilder applicationBuilder){ return applicationBuilder.sources(Main.class); } }

3:配置文件中添加spring.mvc.view配置

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/demo
    username: root
    password: 1367356
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp

mybatis:
  config-location: classpath:mybatis-config.xml


4:controller映射

  

package com.liyafei.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;

import com.liyafei.pojo.User;

//這個註解不能使用RestController,不然會返回模板類型的頁面
@Controller
public class MyController {
    
    User user=new User();
    @RequestMapping("/my")
    public ModelAndView test(){
        ModelAndView mv=new ModelAndView();
        mv.setViewName("modelandview");
        mv.addObject("name", "liyafei");
        user.setAge(20);
        user.setName("wangwu");
        mv.addObject("user", user);
        
        //設置返回的數據為json類型,也可以不設置,返回對象
        //mv.setView(new MappingJackson2JsonView());
        return mv;
    }
    @RequestMapping("index")
    public String index(){
        return "index";
    }

}

5:測試成功:

技術分享圖片

6:目錄結構

技術分享圖片

spring boot 使用視圖modelandview