关于jquery封装的ajax传值到javaWEB后台问题。

关于jquery封装的ajax传值到javaWEB后台问题。

问题描述:

前台用了jquery,后台用了 struts2框架。
前台:
$.ajax({
type : "POST",
url : "recmanager.action",
dataType : "json",
data : {
"manager" : $('#manager').val(),
"password":$('#password').val(),

                                //"manager.name" : $('#manager').val(),
                                //"manager.password":$('#password').val(),
                                },

后台:
    public class ManagerAction extends BaseAction{


                                private Manager manager;

                                public String recManager(){

                                System.out.println(manager.getName()+"  "+manager.getPassword());

                                    return "success";
                                }

}

pojo:
public class Manager implements Serializable{

private static final long serialVersionUID = 1L;

public Manager(){

}

private Integer id;
private String name;
private String password;
private Integer level;

public Integer getId() {
    return id;
}
public void setId(Integer id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public Integer getLevel() {
    return level;
}
public void setLevel(Integer level) {
    this.level = level;
}

}
问题:
前台的data:manager、password,怎样用struts2的特性跟后台的Manager对象属性绑定?
其中 前台我试过 manager.name/manager.password 这样传不行。
request.getParameter("manager.name");这样也为null,属性不带“.”符号可以通过
request.getParameter()取到。

第一如果你的ajax传参用的是"manager" : $('#manager').val(), "password":$('#password').val(), 那么你最好将Action中的属性与表单中的属性一致就可以,就是把你manager对象里面属性包括get/set方法提取到action中。
第二如果你不想改后台可以把ajax传参的manager.id,manager.name,manager.password,manager.level;
第三可以使用ModelDriven数据模式
具体你可以看看struts2的传递数据三种方式,希望能帮到你

后台给manager添加get/set方法了吗?

用request.getParameter()自己封装吧。

后台要写get、set方法