下面是我的代碼...@ModelAttribute不工作
@RequestMapping(value = "/submitnewstory", method = RequestMethod.POST)
@ResponseBody
public String save(@ModelAttribute("storyInsertForm") StoryInsertForm uploadForm, HttpSession session, Model map) {
}
HTML代碼:
<form:form id="contentForm" class="cssform2" action="submitnewstory" method="post" enctype="multipart/form-data" modelAttribute="storyInsertForm">
</form:form>
發生了什麼事?
假設我的模型中有兩個字段(在這種情況下爲StoryInsertForm
),即String firstname
和String lastname
。我必須在<form:form>
內聲明相同的變量,像下面
<form:form id="contentForm" class="cssform2" action="submitnewstory" method="post" enctype="multipart/form-data" modelAttribute="storyInsertForm">
<input type="text" name="firstname" id="firstname" />
<input type="text" name="lastname" id="lastname" />
</form:form>
正在發生的事情是,如果你給一個值的第一輸入,而忽略第二個數據甚至沒有達到控制器。但是,如果你提供所有的值,即爲兩個輸入類型的文本提供輸入,它會找到控制器,並且一切正常。
另一種看法說,如果你不申報的領域之一,即類似如下:
<form:form id="contentForm" class="cssform2" action="submitnewstory" method="post" enctype="multipart/form-data" modelAttribute="storyInsertForm">
<input type="text" name="firstname" id="firstname" />
<!-- <input type="text" name="lastname" id="lastname" /> -->
</form:form>
仍然被貼在上面的字段中提供的數據(在這種情況下名字)的數據。
摘要
如果您有相關的你在輸入類型輸入一些值,否則沒有達到控制器在HTML中的字段。
期待您的幫助。