1

次のような注釈付きのコントローラーメソッドでSpring 3.1.1を使用しています。

@RequestMapping(value = "/my/url", method = RequestMethod.POST)
public @ResponseBody Response<SomeModel>
doStuff(HttpServletRequest request, @RequestParam List<String> ids)

私はjQueryでこれに投稿します:

$.post('/my/url', 
            {ids: JSON.stringify($ids.get())},
            function(response) {
                alert(response);
            }, 'json');

ブラウザからのトラフィックを見ると、問題ないようです。

ids:["770409362","771999003","775080915","775119397","775831772"]

しかし、私が取得した Java ではList<String>、最初と最後の要素に余分な [ と ] が追加されています。

[["770409362", "771999003", "775080915", "775119397", "775831772"]]

また、引用符が残っています。

私はそれを取り除く方法がわかりません。どんな助けでも大歓迎です!

4

2 に答える 2

1

投稿後数秒で join() メソッドが見つかりました:

http://www.w3schools.com/jsref/jsref_join.asp

だから私はやった

{ids: $ids.get().join()}

私にくれた

ids:133753573,1198385893,1513233125,12117275

代わりに機能しました。ただし、これを行う正しい方法ではないようです。ある種のベスト プラクティスの Spring/jQuery アプローチが本当に必要ですか?

于 2012-05-14T15:27:17.580 に答える
0

サーバー側の@RequestBody List<String> ids代わりに使用してみてください。@RequestParam List<String> ids

于 2012-05-14T19:32:01.397 に答える