比如后台代码是这样的:
public class ImageAction {
private ArrayList<HashMap<String,String>> pks; public String update() {
for (Map map: pks){
doSth(map.get("seqNo"));
....... } } public ArrayList<HashMap<String, String>> getPks() {
return pks;
} public void setPks(ArrayList<HashMap<String, String>> pks) {
this.pks = pks;
} }ajax:jquery j$.ajax({
url:approveUrl,
data: {pks: {"seqNo":"111"}},
dataType:'json',
type:'post',
traditional: true,
success:function (response) {
hideProgressBar(parent.document)
if (response.result==false){
alert(response.msg);
return;
}// document.location.reload();
} })结果到了后台,发现得到的参数总是ognl.NoConversionPossible,有没有人遇到过,我用的是webwork+jquery 1.4.3
public class ImageAction {
private ArrayList<HashMap<String,String>> pks; public String update() {
for (Map map: pks){
doSth(map.get("seqNo"));
....... } } public ArrayList<HashMap<String, String>> getPks() {
return pks;
} public void setPks(ArrayList<HashMap<String, String>> pks) {
this.pks = pks;
} }ajax:jquery j$.ajax({
url:approveUrl,
data: {pks: {"seqNo":"111"}},
dataType:'json',
type:'post',
traditional: true,
success:function (response) {
hideProgressBar(parent.document)
if (response.result==false){
alert(response.msg);
return;
}// document.location.reload();
} })结果到了后台,发现得到的参数总是ognl.NoConversionPossible,有没有人遇到过,我用的是webwork+jquery 1.4.3
这个不是必须的,你在action定义一个userName,在前端传递{userName:'theoffspring'},后台只要定义了setter,就会取到userName的。如果用json接收,怎么接收?
你可以把页面参数拼接成字符串传给后台,再在后天截取就可以了。为什么一定用ArrayList<HashMap<String,String>> 类型了。
return jb.toJson(pks)
j$.ajax({
url:approveUrl,
data: {userName: '[{"userName":"theoffspring"}]'},
// dataType:'json',
type:'post',
// traditional: true,
success:function (response) {
hideProgressBar(parent.document)
if (response.result==false){
alert(response.msg);
return;
}
} })
action:
public void setPks(String pks) {
this.pks = pks;
Gson gson=new Gson();
List<Map> list=gson.fromJson(pks,new TypeToken<List<Map<String,String>>>(){}.getType());
System.out.println(list.size());
}
url:approveUrl,
data: {pks: '[{"userName":"theoffspring"}]'},
// dataType:'json',
type:'post',
// traditional: true,
success:function (response) {
hideProgressBar(parent.document)
if (response.result==false){
alert(response.msg);
return;
}
} })