jquery中ajax向action传递对象参数,json ,spring注入对象

时间:2023-03-08 19:26:26

首先,我这个程序的框架是spring+struts2+hibernate。

后端的action的需要接受从前端传进来的参数,由spring的注入,可知,如果前端用的是form的话,只需要在每个input的name中,使用action中定义的

注入对象的属性,那么提交时,Spring可以识别,并将其内容注入到action中定义的对象中。

例如:在后台的action有下面这个变量

private user user;

在前端的form中 有如下定义:

<input name="user.username"/>

那么,在表单提交后,Spring会自动注入前端的值。即user对象由Spring实例化。后台直接使用。

这种情况还是比较简单的。

如果前端不采用form,而是使用jquery,来提交。(当然不能用jquery提交表单)

这里我采用了ajax的方法提交对象给后台的action。采用json数据格式,传递过去,再由Spring自动注入。

其实需要做的事很简单,就是将数据包装成一个json数据,其中里面的内容和form的name的格式差不多。

具体见下面的代码

             $("#submitButton").click(function(){

                 var username=$("#username").val();

                 var password=$("#password").val();

                  var user={"user.username":username,"user.password":password};//这里,就是将数据封装成json

                $.ajax({
type: "POST",
cache: false,
dataType:"json",
url: "user/user_validateUser" ,
data:user
});

action中的定义:

    private user user;
public String validateUser()
{ System.out.print("user checking!!!"+user.getUsername());
return "list";
}