以下は私のコードです...
@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
)に2つのフィールド、つまり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>
何が起こっているのかというと、最初の入力に値を与え、2番目の入力を無視すると、データはコントローラーに到達しません。ただし、すべての値を指定する場合、つまり両方の入力タイプのテキストに入力を指定する場合、コントローラーが検出され、すべてが正常に機能します。
別の観察によれば、フィールドの1つを宣言しない場合、つまり次のようになります。
<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のフィールドを関連付けている場合は、入力タイプにいくつかの値を入力する必要があります。そうしないと、コントローラーに何も到達しません。
あなたの助けを楽しみにしています。