考慮以下問題。如何在Spring mvc中爲同一個url控制兩個操作?
用戶已選擇通過點擊創建文檔創建一個文檔,然後他將數據寫入到文件。用於創建文檔的URL是/ document/save。
對於後續的寫了起來,現有的文件必須保存,而不是創建一個新的。
這裏是我的代碼。
@Controller
public MyController implements Controller, TemplateTypeAware
{
@RequestMapping("/document/save")
public String saveOrCreateDocument(@ModelAttribute DocumentWrapper wrapper, ModelAndView m)
{
if(m.getModel().get("document_id")==null)
{
Document doc=createDocument(wrapper);
m.addObject("document_id",doc.getId());
}
else
{
saveDocument(m.getModel().get("document_id"), wrapper);
}
return documentView;
}
}
模板:
<form>
<input type="hidden" name="document_id" th:value="*{document_id}"/>
<!-- other fields -->
</form>
這裏的問題是,我得到document_id
總是null
。有沒有解決這個問題的方法?
在此先感謝。希望你能儘快回覆。
它爲什麼會比'null'其他什麼嗎?如果您要發送現有文檔的請求,則需要在請求中標識該文檔。 – 2014-09-26 15:49:38
您是否將document_id作爲請求參數發送? – 2014-09-26 15:52:21
第一次訪問頁面時,必須完成創建,因此不會有'document_id',爲了後續保存,我已將'document_id'模型添加爲對象。當我設置該對象時,我將返回與更新後的問題中相同的視圖。 – user12458 2014-09-26 16:02:19