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