springboot实现返回视图而不是string的方法
目录
- springboot返回视图而不是string
- 还有一种就是通过ModelAndView
- springboot返回视图方式
- Spring boot返回视图的方式
- 补充一下
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@EnableAutoConfigurationpublic 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@EnableAutoConfigurationpublic class HelloController {@RequestMapping("/hello")@ResponseBodypublic ModelAndView hello(){System.out.println("hello!"); ModelAndView mode = new ModelAndView(); mode.setViewName("hello"); return mode; }}
一般用于携带参数且返回视图,如果要带参数的话,加上mode.addObject()函数
另外需要注意一点,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"); //想传的数据mv.addObject("o1","数据1"); return mv; }
2.使用webMVC配置
创建配置类
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 */@Configurationpublic class WebMvcConfig implements WebMvcConfigurer {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry//接收的请求.addViewController("/toLogin")//跳转的页面名.setViewName("login"); }}
补充一下
快速上手
1.在pom.xml添加依赖
org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-thymeleaf
2.创建页面login.html
文章图片
3.配置thymeleaf
在application.yml中添加上
spring:thymeleaf:#页面存放位置prefix: classpath:/templates/#是否缓存 这里是否cache: falsesuffix: .htmlmode: LEGACYHTML5template-resolver-order: 0
再进行视图配置就可以访问到了
【springboot实现返回视图而不是string的方法】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Java实现视频自定义裁剪功能
- 百度马艳军(实现AI技术自立自强,国产深度学习框架面临三大难题)
- 前端实现多文件编译器
- Java常用排序算法
- 面试题目:手写一个LRU算法实现
- swift实现简单的计算器
- JS实现玩转风车
- 按照|按照 Promise/A+ 规范逐行注释并实现 Promise
- Mybatis-Plus|Mybatis-Plus 如何实现一对多关系 举例 用户与角色
- 用一个文件,实现迷你|用一个文件,实现迷你 Web 框架