我用表单想后台发送请求:
ExtJs代码:
form.getForm().submit({
method:'POST',
params:{
username:username,
password:password,
checkCode:checkCode
},
success:function(form,action){
},
failure:function(form,action){
}
});
在Action中定义了username,password,checkCode三个变量可以接收到数据现在我想把这三个变量放在user类中,并只定义user一个变量,那么在ExtJs中要如何定义请求才能在Action中直接把user对应上呢?
我做了以下的尝试:
对params修改为:
params:{
user:"{username:'aaa',password:'bbb'}"
}
但是一直有错误:
WARN com.opensymphony.xwork2.ognl.OgnlValueStack:60 - Error setting expression 'user' with value '[Ljava.lang.String;@1fc8df5'
ognl.MethodFailedException: Method "setUser" failed for object myevernote.server.LoginAction@1a71c79 [java.lang.NoSuchMethodException: myevernote.server.LoginAction.setUser([Ljava.lang.String;)]请问应该怎么改呢?
ExtJs代码:
form.getForm().submit({
method:'POST',
params:{
username:username,
password:password,
checkCode:checkCode
},
success:function(form,action){
},
failure:function(form,action){
}
});
在Action中定义了username,password,checkCode三个变量可以接收到数据现在我想把这三个变量放在user类中,并只定义user一个变量,那么在ExtJs中要如何定义请求才能在Action中直接把user对应上呢?
我做了以下的尝试:
对params修改为:
params:{
user:"{username:'aaa',password:'bbb'}"
}
但是一直有错误:
WARN com.opensymphony.xwork2.ognl.OgnlValueStack:60 - Error setting expression 'user' with value '[Ljava.lang.String;@1fc8df5'
ognl.MethodFailedException: Method "setUser" failed for object myevernote.server.LoginAction@1a71c79 [java.lang.NoSuchMethodException: myevernote.server.LoginAction.setUser([Ljava.lang.String;)]请问应该怎么改呢?
params:{
username:user[username],
password:user[password],
checkCode:user[checkCode]
}
params:{
user[username]:username,
user[password]:password,
user[checkCode]:checkCode
} 这个是对的,上面的错误!
这个有测试通过的吗?我这里显示user[username]语法错误啊~~
private User user;
public void setUser(User user){
this.user = user;
}
前台Ext我按你的写了,但是有错误啊,这种写法是对的吗?
params:{
user:{username:'aaa',password:'bbb'}
}
form.getForm().submit({
method:'POST',
params:{
'user.username':'aaa',
'user.password,:'bbb'
},
success:function(form,action){},
failure:function(form,action){}
});
但是Ext的form的提交是会自动把表单的字段发送的,所以其实只要在设置字段的时候把name属性设为类似'user.username'即可