spring MVC之用表单控制器处理表单(四)
----------
接上一篇
提供表单引用数据
当要求表单控制器呈现表单视图时,它可能有某些类型的引用数据要提供给表单。
如例:
当请求ReservationFormController显示预订表单时,必须在模型中包含所有的可用运动类型,这样表单才能在HTML选择框中显示它们。为此,你可以覆盖SimpleFormController的referenceData()方法。将要引用数据放在一个Map中,并将它作为方法的返回值。这个Map会被自动添加到模型中,并传递给表单视图。referenceData()方法的默认实现是返回null。
package com.apress.springrecipes.court.web;
...
public class ReservationFormController extends SimpleFormController{
...
protected Map referenceData(HttpServletRequest request)throws Exception{
Map referenceData = new HashMap();
List<SportType> sportTypes = reservationService.getAllSportTypes();
referenceData.put("sportTypes",sportTypes);
return referenceData;
}
}