我正在使用我正在開發的項目,用戶可以選擇以新的表單提交開始,還是繼續之前啓動的表單提交。我正在使用@ModelAttribute表示法爲新表單提交生成新對象。這很棒。現在我試圖從數據庫中獲取信息,根據給定的ID預先在對象中填充信息,並且遇到了一些問題。我試圖使用@RequestParam獲取使用表單提交傳入的id,但id正在返回null。我可以看到,該id是作爲請求字符串的一部分發送的,但它不會將其發送到@ModelAttribute方法。這是我到目前爲止。在@ModelAttribute方法中訪問時,@RequestParam爲null
形式提交到發送的RegID,這樣的形式可以預先填充
<form id="preregistration" action="/Homepage/Pre-Registration" method="post">
<input type="text" name="view" id="view" value="preprocess"/>
<select name="regId" id="regId">
<option value="0">Select</option>
<option value="1234">1234</option>
<option value="4567">4567</option>
</select>
<input type="submit" name="submit" id="submit" value="Submit"/>
</form>
模型屬性方法
@ModelAttribute("event")
public Event createDefaultEvent(@RequestParam(required = false) Integer regId){
log.debug("regId: {}", regId);
if (regId == null){
log.debug("make new event object");
return new Event();
} else {
log.debug("retrieve event with id: {}", regId);
return eventDao.get(regId);
}
}
請求映射方法
@RequestMapping(params = "view=preprocess")
public String getPreProcessInformation(@ModelAttribute("event") Event event)
throws Exception{
return "redirect:/preregistration.do?"+Page.EVENT.getView();
}
誰能幫助我當我提交表單時,爲什麼我的regId在@ModelAttruibute方法中爲空?提前致謝!
這是什麼框架? – 2011-06-01 00:05:58