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 對象的信息,本質(zhì)是一個字符串。)如果用了@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文件中所有標簽都必須要有結(jié)束符,idea有時候生成meta標簽時會沒有結(jié)束符,所以要加上
最終輸入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")
//跳轉(zhuǎn)的頁面名
.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
再進行視圖配置就可以訪問到了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java開發(fā)gui教程之jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體
這篇文章主要介紹了java開發(fā)gui教程中jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體的示例,需要的朋友可以參考下2014-03-03
Jenkins 關(guān)閉和重啟詳細介紹及實現(xiàn)
這篇文章主要介紹了Jenkins的關(guān)閉、重啟的相關(guān)資料,用jar -jar jenkins.war來啟動jenkins服務(wù)器,那么我們?nèi)绾侮P(guān)閉或者重啟jenkins服務(wù)器呢,這里就給出實現(xiàn)的方法,需要的朋友可以參考下2016-11-11
SpringBoot2整合activiti6環(huán)境搭建過程解析
這篇文章主要介紹了SpringBoot2整合activiti6環(huán)境搭建過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
淺談java String.split丟失結(jié)尾空字符串的問題
下面小編就為大家?guī)硪黄獪\談java String.split丟失結(jié)尾空字符串的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用
這篇文章主要介紹了Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

