我想将值发布到List,webwork / struts2动作的实例字段,但是按动作接收的值是ognl.NoConversionPossible,它有什么问题?我在动作中编码了setter / getter。 动作是一个简单的动作,我只需要将一些数据发布到动作并调用其名为update的方法,该方法需要前端的List参数。 就像下面一样。
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;
}
}
这是我的jquery测试代码:
var seqs=[]
var seq1={seqNo:111}
var seq2={seqNo:222}
seqs.push(seq1)
seqs.push(seq2)
j$.ajaxSettings.traditional = true
j$.ajax({
url:approveUrl,
data:{pks:seqs},
dataType:'json',
type:'post',
traditional: true,
success:function (response) {
hideProgressBar(parent.document)
if (response.result==false){
alert(response.msg);
return;
}
// document.location.reload();
}
})
我添加传统参数引用此thread。但我没有任何运气。值只能使用传统的方式发布到操作:true,但不需要List<Map>
,而不是List<ognl.NoConversionPossible>
,似乎存在一些转换问题。