springmvc后台获取表单提交的数据方式

在基于springmvc的web项目中,后台获取前台提交的数据方式有多种。

1、通过注解ModelAttribute直接映射表单中的参数到POJO。在from中的action写提交的路径,然后再input的name写参数的名称。

    在后台用@ModelAttribute("form")获取整个POJO类的数据。当获取不是POJO里面的参数的时候使用@RequestParam获取。

@RequestMapping("/register.do")
	@ResponseBody
	public ModelAndView register(@ModelAttribute("form") Users usrs,RedirectAttributes arrt,
		@RequestParam("confirm_password")String repassowrd,@RequestParam("kaptchaImage")String kaptchaImage){
		
		String kaptchaRandom=(String)session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
		
		MkResult result=userService.addUsers(usrs,repassowrd,kaptchaRandom,kaptchaImage);
		ModelAndView modelAndView=null;
		
		if(result.getStatus()==0){
		
			arrt.addFlashAttribute("states",result.getStatus());
	
			modelAndView=new ModelAndView("redirect:/user/toLogin.do");
		
		}else {
			arrt.addFlashAttribute("states",0);
			modelAndView=new ModelAndView("/register.jsp");
		}
		
		return modelAndView;

	}

2、使用AJAX的方式提交数据。

当参数数量比较多的时候,可以把参数包装成json传回后台。

$("#zhuce").click(function(){
			var saveDataAry=[];  
			  var email1 = $(".email").val().trim();
		      var username1 = $(".username").val().trim();
		      var password1=$(".password").val().trim();
		      //var confirm_password1 = $(".confirm_password").val().trim();
		      var phone_number1 = $(".phone_number").val().trim();
		      var data1={email:email1,username:username1,password:password1,mobilePhone:phone_number1};
		      $.ajax({
		          url:"user/register.do",
		          type:"post",
		          dataType:"json",   
		          data:data1,
		          success:function(result){
		            //result是服务器返回的json结果
		            if(result.status){
		               alert(result.data);
		            }else {
		              alert(result.msg);
		            }
		          },
		          error:function(){
		              alert("发生异常,请重试!");
		            }
		       });
			
		});
  

 在后台获取参数的时候,可以直接在方法中写传入的参数,注意参数名称要和ajax中data的参数名称一致,否则就要用@RequestParam指定参数名称。也可以用@ModelAttribute映射POJO,但data的参数名称要和POJO的变量名称一致。

 

@RequestMapping(value = "/register1.do")
	@ResponseBody
	public MkResult registe1r(@ModelAttribute("form") Users usrs,@RequestParam("email")String email,String username,String password,String mobilePhone){
		System.out.println(email+";"+username+";"+password+";"+mobilePhone);
		System.out.println(usrs.getEmail());
		MkResult mkResult=new MkResult();
		mkResult.setStatus(1);
		mkResult.setData("呵呵");
		mkResult.setMsg("加载成功");
		
		return mkResult;

	}











你可能感兴趣的:(javaweb,juqery)