springboot实现返回视图而不是string的方法

网友投稿 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添加依赖

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-thymeleaf

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小时内删除侵权内容。

上一篇:python基础(part1)--注释/变量/del语句
下一篇:python基础(part2)--核心数据类型(python三种核心数据结构)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~