java中的接口是类吗
368
2022-08-31
springboot实现返回视图而不是string的方法
目录springboot返回视图而不是string还有一种就是通过ModelAndViewsplaDsQHHtgYringboot返回视图方式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
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hellhttp://o")
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;
}
}
一般用于携带参数且返回视图,如果要带参数的话,加上mode.addObject()函数
另外需要注意一点,html文件中所有标签都必须要有结束符,idea有时候生成meta标签时会没有结束符,所以要加上
最终输入httphttp://://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
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry
//接收的请求
.addViewController("/toLogin")
//跳转的页面名
.setViewName("login");
}
}
补充一下
快速上手
1.在pom.xml添加依赖
2.创建页面login.html
3.配置thymeleaf
在application.yml中添加上
spring:
thymeleaf:
#页面存放位置
prefix: classpath:/templates/
#是否缓存 这里是否
cache: false
suffix: .html
mode: LEGACYHTML5
template-resolver-order: 0
再进行视图配置就可以访问到了
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~