我想将值发布到列表,即 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();
}
})
我添加了引用此线程的传统参数。但我没有任何运气。值只能通过传统的方式发布到操作:true,但它不是必需的List<Map>
,而不是List<ognl.NoConversionPossible>
,似乎存在一些转换问题。