webwork/struts2 アクションのインスタンス フィールドである List に値を投稿したいのですが、アクションで受け取った値が ognl.NoConversionPossible になっています。アクションでセッター/ゲッターをコーディングしました。アクションは単純なアクションです。いくつかのデータをアクションに投稿し、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();
}
})
このスレッドを参照する従来のパラメーターを追加しますが、うまくいきません。値は、traditional: true でのみアクションに投稿できますが、必要List<Map>
ではなく、List<ognl.NoConversionPossible>
変換の問題があるようです。