package jp.dip.arimodoki.cntl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import jp.dip.arimodoki.model.PromenadeFormIf;
/**
* 面倒なので、このソースのコメントで全部説明しちゃうぞ
*/
@Controller
public class Promenade {
/**
* このコントローラは、PromenadeFormクラスを
* リクエスト/レスポンス用パラメータの入れ物(FormBean)として使います
*/
@Autowired
private PromenadeFormIf promenadeForm;
/**
* PromenadeFormクラスを、"PromenadeFormData"という名前で、Modelにバインドします。
* この処理を行うことで、viewにレスポンスする場合は
* 特にレスポンス処理を明記しなくても、自動的にModelがviewに返却され
* view側(Thymeleaf側)では、PromenadeFormData.プロパティ名
* でFormBeanのプロパティが参照可能となります。
* ※)@ModelAttributeアノテーションのバインド名が重要であって、
* メソッド名はなんでも構いません(クラス内で重複しなければ)
* @return バインドされたFormBeanのインターフェース PromenadeFormIfを返します。
*/
@ModelAttribute("PromenadeFormData")
public PromenadeFormIf setupBind(
) {
return this.promenadeForm;
}
/**
* コントローラメソッドです。
*/
@RequestMapping(value = "/promenaderes")
public String promenade(
@ModelAttribute("PromenadeFormData") PromenadeFormIf formbean
) {
System.out.println("formbean.myname["+formbean.getMyname()+"]");
System.out.println("formbean.age["+formbean.getAge()+"]");
System.out.println("formbean.pref["+formbean.getPref()+"]");
System.out.println("formbean.phone["+formbean.getPhone()+"]");
System.out.println("this.promenadeForm.myname["+this.promenadeForm.getMyname()+"]");
System.out.println("this.promenadeForm.age["+this.promenadeForm.getAge()+"]");
System.out.println("this.promenadeForm.pref["+this.promenadeForm.getPref()+"]");
System.out.println("this.promenadeForm.phone["+this.promenadeForm.getPhone()+"]");
return "promenaderes";
}
}
|