21

SpringでhtmlフォームからJavaクラスにオブジェクトをバインドする際にパス属性がどのように機能するかを誰か説明してください。私はSpring Webフレームワークの初心者です。助けてください。

4

1 に答える 1

49

簡単に言えば、パス属性は、Java Bean 規則を使用して Java プロパティにバインドされます。たとえば、次のフォームの場合:

<form:form method="post" modelAttribute="theStudent">
  Name: <form:input type="text" path="name"/>
  Cool?: <form:input type"checkbox" path="cool"/>
  <button>Save</button>
</form:form>

そして、次のコントローラー ハンドラー メソッド:

@RequestMapping(...)
public String updateStudent(@ModelAttribute("theStudent") Student student) {
  // ...
}

Student クラスが次のプロパティで定義されている場合、自動的にバインドされます。

public class Student {
  private String name;
  public String getName() { return this.name; }
  public void setName(String name) { this.name = name; }

  private boolean cool;
  public boolean isCool() { return this.cool; }
  public void setCool(boolean cool) { this.cool = cool; }
}

JavaBeans convetion の詳細については、仕様書のセクション 8.3 を参照してください。

于 2013-07-15T05:43:49.247 に答える