欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringMVC学习---接收请求参数以及数据回显

程序员文章站 2022-03-10 17:07:37
传统的后端从前端接收参数的方式前端:后端://getParam()获取到的是Object对象,需要强转//这里获取到的是“longlong”String name= (String)request.getParam("前端的name值");SpringMVC的后端从前端接收参数方式前端:

传统的后端从前端接收参数的方式

前端:

<input type="text" name="name" value="longlong"/>

后端:

//getParam()获取到的是Object对象,需要强转
//这里获取到的是“longlong”
String name= (String)request.getParam("前端的name值");

SpringMVC的后端从前端接收参数方式

前端:

<input type="text" name="name" value="longlong"/>

后端:

@RequestMapping("/xxx")
public String method(String name){
	System.out.println("从前端接收到的值为:"+name);
	return "viewName";  //这里泛指视图名称
}

值得注意的是,后端方法的参数名name必须与前端传递的数据的name属性一致,但即使不一致,也有方法将前端数据传递到指定参数中:

@RequestMapping("/xxx")
public String method(@RequestParam("name") String myName){
	System.out.println("从前端接收到的值为:"+myName);
	return "viewName";  //这里泛指视图名称
}

只需要在参数前面加一个注解@RequestParam(“xxx”),注解中的值与前端的name属性值对应即可。
有一说一,这个注解最好时时刻刻都加上,这样可以代表括号里的参数是从前端传递过来的,增强了代码的阅读性。

如果前端传递大量的数据该怎么办

答:用类来封装数据
举个栗子:
假设有这样一个类(get和set方法省略):

public class User{
	private int id;
	private String name;
	private int age;
}

前端传递的表单:

<form action="/xxx" method="get">
	<input type="text" name="id"/>
	<input type="text" name="name"/>
	<input type="text" name="age"/>
	<input type="submit" value="提交"/>
</form>

后端数据接收:

@RequestMapping("/xxx")
public String method(User user){
	System.out.println("从前端获取到的id:"+user.id);
	System.out.println("从前端获取到的name:"+user.name);
	System.out.println("从前端获取到的age:"+user.age);
	return "viewName";  //这里泛指视图名称
}

这里需要注意的是:前端中的各个传递信息的标签的name属性值要与Java对应的包装类属性值一致。
这样SpringMVC可以将数据自动装配到封装类里从前端传递到Controller层。
否则后端的封装类对象的有些值就会是null。

本文地址:https://blog.csdn.net/theLuckyLong/article/details/112006473

相关标签: SpringMVC