2011-02-03 17 views
1

ArrayListArrayをJspからスプリングコントローラに渡すにはどうすればよいですか?JspからSpring(注釈ベース)コントローラへArrayListを渡す方法

私は、1つのオブジェクトデータが多くの方法で入力される何らかの形式をユーザーに入力してもらいたいです。私はリストを作成し、そのオブジェクトの異なる値をすべて保存したい。

私はスプリングコントローラに渡したいと思います。これのための最良の方法は何ですか?ありがとう。

+0

あなたのJSPの外観はどうですか? – Bozho

答えて

1

はい、クラスを作成し、このクラスをフォームにバインドして、コントローラがクラスを自動的に受信するようにします。

これは次のようになります。

@RequestMapping(value="/submit",method = RequestMethod.POST) 
     public ModelAndView addUser(@Valid MyClass myClass, BindingResult result){ 

} 

public class MyClass{ 
private List<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); 

//getters and setters. 
} 

希望します。

更新:

Ajaxの方法:

JSON = { "MYCLASS" "リスト":[1,2,3,4]、[1,2,3,45] [3,5,1]]}

とコントローラ自体です。

@RequestMapping(value="/submit",method = RequestMethod.POST) 
    @ResponseBody 
    public String getAjax(@RequestBody Myclass myClass){ 
//do something 
} 

そして、JavaScriptを使用してJSONを吸い上げ、AJAXを使用してサーバーに送信するためにjavascriptを使用します。 Javascriptを使用してフォームを検証することもできます。

+0

'@Valid MyClass class'これはコンパイルされません。' class'は予約済みのキーワードです –

+0

確かに。ありがとう:) –

+0

こんにちは、私はjspからこれを渡す方法。 – aditya

1

まず、JSPのHTTP要求を配列の配列ではなく、Springコントローラに渡します。

ユーザーが入力するフォームには、HTMLフォーム要素があり、HTTPパラメータ名と値のペアとしてサーバー側に送信されます。

Springコントローラはフォーム要素を検証してオブジェクトにバインドします。必要に応じて、これらのパラメータをすべて配列の配列に確実にバインドできます。

関連する問題