关于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方法