0

題して、

angularjsを使用して送信します

私のスプリングコントローラー:

@RequestParam(value = "hashtag[]") hashtag[] o

上記は配列パラメーターでは機能しますが、配列オブジェクトでは機能しません

私のjsスクリプト:

$http({
         method: 'POST',
         url: url,
         data: $.param({
                hashtag : [{label:"success",value:"ok"},{label:"success",value:"ok"},{label:"success",value:"ok"}],
               }),
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' }  });

クロムから観察すると、フォームデータは

    hashtag[0][label]:success
    hashtag[0][value]:10

    hashtag[1][label]:success
    hashtag[2][value]:10

    hashtag[3][label]:success   
    hashtag[3][value]:10

でも春は見せてくれる

org.springframework.web.bind.MissingServletRequestParameterException: Required hashtag[] parameter 'id[]' is not present

以前は、パラメーターの配列を受け取ることができましたが、オブジェクトを受け取ることはできませんでした。誰かが私を啓発できますか?

4

3 に答える 3

0

@RequestParam(value = "hashtag") ハッシュタグ [] o を試してください。

ラベルと値の属性を持つハッシュタグという名前のクラスがあるとします。

于 2013-04-04T08:49:32.917 に答える
0

使ってみて@ModelAttribute

以下のような新しい Java クラス HashtagList を作成します。

public class HashTagList {

    private List<HashTag> hashTag;

    public List<HashTag> getHashTag() {
        return hashTag;
    }

    public void setHashTag(List<HashTag> hashTag) {
        this.hashTag = hashTag;
    }
}

そしてあなたのコントローラーメソッドで

@ModelAttribute("hashtag") HashTagList hashTagList

Java クラス名はハッシュタグまたは HashTag ですか?

于 2013-04-04T04:40:25.073 に答える