您的位置:首页 > 财经 > 产业 > 初学SpringMVC之接收请求参数及数据回显

初学SpringMVC之接收请求参数及数据回显

2024/12/26 21:56:42 来源:https://blog.csdn.net/m0_58838332/article/details/140362856  浏览:    关键词:初学SpringMVC之接收请求参数及数据回显

pom.xml 文件导入 lombok 的依赖

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version></dependency>

@Controller 表示这是一个控制器

@RequestParam 表示从前端接收

将返回的结果传递给前端一般用 Model

package com.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
@RequestMapping("/user")
public class UserController {//localhost:8080/user/test?name=xx@GetMapping("/test")public String test(@RequestParam("name") String name, Model model){//1.接收前端参数System.out.println(name);//2.将返回的结果传递给前端model.addAttribute("msg",name);//3.视图跳转return "test"; //test.jsp}
}

@AllArgsConstructor 有参构造器

@NoArgsConstructor 无参构造器

(需要先导入 lombok 的 jar 包才能引用)

package com.demo.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor //有参构造器
@NoArgsConstructor //无参构造器
public class User {private String name;private int age;
}

接收前端用户传递的参数,判断参数的名字,假设名字在方法上,可以直接使用

传递的参数必须要和对象接收的参数字段保持一致

package com.demo.controller;import com.demo.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("/user")
public class UserController {/*1.接收前端用户传递的参数,判断参数的名字,假设名字在方法上,可以直接使用2.假设传递的是一个对象User,匹配User对象中的字段名*/@GetMapping("/test2")public String test2(User user){System.out.println(user);return "test";}
}

比如地址栏输入 http:localhost:8080/user/test2?name=hh&age=18

(要根据自己创建的类来设置参数,上述用了 User 类,就用 User 类里的变量)

输出结果为:

数据显示到前端的方法:

1. ModelAndView

先 new 一个 ModelAndView()

再通过 addObject 封装数据

最后 setViewName 设置返回的视图名字

2. Model

方法括号里使用 Model 接口

通过 addAttribute 封装数据

最后返回给视图

3. ModelMap

按 ctrl + h 查看树

ModelMap 继承了 LinkedHashMap,拥有它的全部功能

使用方法与 Model 类似

三者对比:

1. Model 只有几个方法适用于存储数据

2. ModelMap 除了实现自身方法,同时继承 LinkedHashMap 的方法和特性

3. ModelAndView 在存储数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com