springboot實現(xiàn)返回視圖而不是string的方法
springboot返回視圖而不是string
package com.example.demo.controller; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @EnableAutoConfiguration public class HelloController { ? ? @RequestMapping("/hello") ? ? public String hello() { ? ? ? ? System.out.println("進入controller"); ? ? ? ? return "hello"; ? ? } }
注意釋@Controller而不是@RestContreller
@RestController返回的是json(JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。)如果用了@RestController則不要用@Responsebody
還有一種就是通過ModelAndView
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller @EnableAutoConfiguration public class HelloController { ? ? @RequestMapping("/hello") ? ? @ResponseBody ? ? public ModelAndView hello(){ ? ? ? ? System.out.println("hello!"); ? ? ? ? ModelAndView mode = new ModelAndView(); ? ? ? ? mode.setViewName("hello"); ? ? ? ? return mode; ? ? } }
一般用于攜帶參數(shù)且返回視圖,如果要帶參數(shù)的話,加上mode.addObject()函數(shù)
另外需要注意一點,html文件中所有標簽都必須要有結束符,idea有時候生成meta標簽時會沒有結束符,所以要加上
最終輸入http://localhost:8080/hello就可以了
springboot返回視圖方式
Spring boot返回視圖的方式
1.使用ModelAndView
在controller中
@RequestMapping("toTest") public ModelAndView toTest(){ ModelAndView mv = new ModelAndView(); //視圖名 mv.setViewName("login"); //想傳的數(shù)據(jù) mv.addObject("o1","數(shù)據(jù)1"); return mv; }
2.使用webMVC配置
創(chuàng)建配置類
package com.ch.exercise.config.webMvc; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * MVC配置 * @author CH * @date 2021-08-19 11:45 */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry //接收的請求 .addViewController("/toLogin") //跳轉的頁面名 .setViewName("login"); } }
補充一下
快速上手
1.在pom.xml添加依賴
<!--web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2.創(chuàng)建頁面login.html
3.配置thymeleaf
在application.yml中添加上
spring: thymeleaf: #頁面存放位置 prefix: classpath:/templates/ #是否緩存 這里是否 cache: false suffix: .html mode: LEGACYHTML5 template-resolver-order: 0
再進行視圖配置就可以訪問到了
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java開發(fā)gui教程之jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體
這篇文章主要介紹了java開發(fā)gui教程中jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體的示例,需要的朋友可以參考下2014-03-03SpringBoot2整合activiti6環(huán)境搭建過程解析
這篇文章主要介紹了SpringBoot2整合activiti6環(huán)境搭建過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11淺談java String.split丟失結尾空字符串的問題
下面小編就為大家?guī)硪黄獪\談java String.split丟失結尾空字符串的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Spring Boot 2.x基礎教程之配置元數(shù)據(jù)的應用
這篇文章主要介紹了Spring Boot 2.x基礎教程之配置元數(shù)據(jù)的應用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01