需求:如题:前段有个表单页面,后端为java后台,表单提交后,调用后端数据存储数据,后端获得表单数据
第一种:一般情况下,我们的表单字段都是固定的,那么我们很自然的会在后端写一个javaBean实体对象,与前端的表单中的name相对应,这样就很自然的可以取到。
第二种:request.getParameter("name"); 直接使用request,通过表单的控件name属性获得控件值
@RequestMapping(value = "save", method = RequestMethod.POST)
public void save(HttpServletRequest request,HttpServletResponse response) {
//通过name属性获取值
String name = request.getParameter("username");
System.out.println("获取到的姓名是:"+name);
String pwd = request.getParameter("password");
System.out.println("获取到的密码是: "+pwd);
}
第三种:request.getParamterValues(String name);通过name获取value值(一般用于复选框获取值)
@RequestMapping(value = "save", method = RequestMethod.POST)
public void save(HttpServletRequest request,HttpServletResponse response) {
//通过name属性获取value值
String[] names = request.getParameterValues("username");
for (String name : names) {
System.out.println("获取得到的姓名是 " + name);
}
String[] hobbys = request.getParameterValues("hobby");
for (String hobby : hobbys) {
System.out.println("复选框的值是: " + hobby);
}
}
第四种:request.getParameterNames();直接获取表单所有对象的name值,返回值是枚举集合
@RequestMapping(value = "save", method = RequestMethod.POST)
public void save(HttpServletRequest request,HttpServletResponse response) {
//通过name属性获取value值
Enumeration<String> names2 = request.getParameterNames();
while (names2.hasMoreElements()){
String name =names2.nextElement();
System.out.println(name);
}
}
第五种:request.getParameterMap();直接获取表单所有对象的name值以及数据,该方法的返回值是map集合,集合key是String类型,value是Sting类型的数组
@RequestMapping(value = "save", method = RequestMethod.POST)
public void save(HttpServletRequest request,HttpServletResponse response) {
//通过map代表所有的值 ,集合中的key代表表单name值 value代表表单数据
Map<String, String[]> map = request.getParameterMap();
//通过keySet遍历集合
Set<String> keySet = map.keySet();
for(String key : keySet){
System.out.println("表单的name值: "+key);
//通过key值获取所有value值
String[] values = map.get(key);
for(String value : values ){
System.out.println("表单中的数据: "+value);
}
}
}
总结:在表单的name值不确定或者不知道的情况下,可以采用后面两种,直接获得名称,然后取值。
本文介绍了五种在Java后台获取前端表单数据的方法,包括通过对应实体Bean、request.getParameter()、getParameterValues()、getParameterNames()以及getParameterMap()。在表单name值不确定时,后两种方式更为适用。


被折叠的 条评论
为什么被折叠?



