2011-07-13 11 views
0

request.getParameter( "foo");で名前でHTML要素を参照する方法を知っています。 しかし、フォームにはそれぞれ別々の 'class'属性を持つさまざまな要素グループがあります。クラス名でこれらを参照する方法はありますか?私のHTML入力要素は以下のフォームにされているspring.mvcコントローラのクラスでhtml要素を参照してください

@Controller 
@MultipartConfig() 
public class FooController { 
    //get parameters 
    return "view"; 
} 

<input class="bar" type="checkbox" name="elementName" /> 

基本的に私は私のクラスのすべての要素を与える」、私のコントローラに言いたい 私のコントローラは、下記のフォームであります'バー'"。出来ますか?

答えて

1

いいえ、コントローラは実際にはビューの内容を認識しません。このよう

request.getParameter("foo") 

として

パラメータHTTPリクエストからではなく、HTMLページを読んでから来ています。 "foo"部分は、フォームが提出されたときにフォーム要素の "name"属性に由来します。

代わりに、JavaScriptを使用して特定のCSSクラスに一致する要素のリストを取得し、フォーム送信を動的に編集して、これらの要素の内容をコントローラにGET/POSTすることができます。

0

ユーザーがwebappにデータをPOSTするとき、HTML要素のクラス名は送信されないので、入力要素の名前と値のみが送信されるわけではありません。

0

上記の通り、no。しかし、Spring Forms with its taglibとバッキングフォームクラスを使用すると、Springは自動的にフォーム要素をフォームクラスメンバにバインドします。フォームBean

@Controller 
public class MyController { 
    @RequestMapping("/foo/somevalue.do") 
    public String FooController (
     @ModelAttribute("myForm") MyFormBean formBean 
     ){ 
     return "view"; // name of the JSP 
    } 
} 

class MyFormBean 

private String elementName 
//getters and setters 

あなたのJSP:

<form:input path="elementName" /> 
あなたのハンドラメソッドはその後に変更します
関連する問題