0

We can get the values of a submitted form in a jsp page in controller using request.getParamenter(xxxx),by using commandName or by using hidden fields.

is there any other way to get values from a form of jsp in a controller?

4

3 に答える 3

2

Springは、Javaの実際のオブジェクトへのリクエストでパラメータをデータバインディングするいくつかの方法を提供します。ほとんどのデータバインディングは、注釈付きメソッドを使用するか、メソッド内のパラメーターに注釈を付けることによって指定されます。

次の形式を考えてみましょう。

<form>
  <input name="firstName"/>
  <input name="lastName"/>
  <input name="age"/>
</form>

Springコントローラーでは、要求パラメーターをいくつかの方法で取得できます。

@RequestParam ドキュメント

@RequestMapping("/someurl)
public String processForm(@RequestParam("firstName") String  firstName, 
   @RequestParam("lastName") String  lastName, 
       @RequestParam("age") String  int,) {
 .....
}

リクエストパラメータがクラスでモデル化されている場合は、Person.java別の手法を使用できます@ModelAttribute

Person.java

public class Person(){
   String firstName;
   String lastName;
   int age;

   //Constructors and Accessors implied.
}

@ModelAttribute ドキュメント

@RequestMapping(value="/someUrl")
public String processSubmit(@ModelAttribute Person person) {
   //person parameter will be bound to request parameters using field/param name matching.
}

これらは、Springがデータバインディングを提供するために使用する最も一般的に使用される2つの方法です。SpringMVCドキュメントで他の人について読んでください。

于 2012-11-08T10:12:01.687 に答える
0
public String myMethod(@RequestParam("myParamOne") String myParamOne) {
 //do stuff 
}
于 2012-11-08T10:04:05.987 に答える
0

注釈によってフィールドをコントローラ メソッドに直接マップする@RequestParamか、.xml を使用してオブジェクトを直接バインドできます@ModelAttribute

public ModelAndView method(@RequestParam(required = true, value = "id") Long id) {
}

public ModelAndView method(@ModelAttribute("pojo") POJO pojo, BindingResult results) {
}
于 2012-11-08T10:05:22.047 に答える