@Controller
@RequestMapping("lookup")
public class LookupController {
@ModelAttribute("status")
public List<String> status() {
List<String> lstStatus = new ArrayList<String>();
lstStatus.add("Open");
lstStatus.add("Reserved");
lstStatus.add("Parked");
lstStatus.add("Inactive");
return lstStatus;
}
}
@Controller
@RequestMapping("parkingSlot")
public class ParkingSlotController {
@RequestMapping("edit/{slotId}")
public String edit(@PathVariable Integer slotId, Map<String, Object> model) {
ParkingSlot parkingSlot = parkingSlotDao.get(slotId);
model.put("parkingSlot", parkingSlot);
return "ParkingSlotForm";
}
}
ParkingSlotForm.jsp
<form:form action= "${root}parkingSlot/save" modelAttribute="parkingSlot" method="post" >
<tr>
<td>Status:</td>
<td>
<form:select path="status" >
<form:options items="${status}" />
</form:select>
</td>
</tr>
我无法在此处看到状态下拉列表。 我只是看到空的下拉列表而没有填充项目。 如果我将该方法@ModelAttribute(&#34; status&#34;)移动到ParkingSlotController中,那么它可以正常工作。但那不是我想要的那个。但我的想法是将所有常见的下拉列表保存在一个集中控制器中。 我该怎么做?
答案 0 :(得分:0)
编写一个controlleradvice并使用modelattributes添加方法。
@ControllerAdvice是用于的Component的特化 定义@ExceptionHandler,@ InitBinder和@ModelAttribute方法 适用于所有@RequestMapping方法。