ajax 経由でスプリング フォームを送信しようとしていますが、フォーム内の値が常に null として表示されます (実際のフォームは null ではありません)。
これは、JSP からフォームを送信する方法です。
$('#fSystemSave').click(function() {
$.post("/live-application/systemSave", {systemForm: $("#systemForm").serialize()}, displayModifiedSystemResults, "html");
});
これは次の形式です。
<form:form id="systemForm"
method="post" action="/live-application/systemSave"
commandName="systemForm">
<tr>
<td colspan="1" align="left">
<strong>SYSTEM SETTINGS</strong>
</td>
</tr>
<tr>
<td valign="top">Name: </td>
<td valign="top"><form:input path="fName" size="20" /> </td>
</tr>
<tr>
<td valign="top" align="left">
<button type="button" id="fSystemSave">Save</button>
</td>
</tr>
</form:form>
そして、これは Java コントローラー側です。
@RequestMapping(value = "/systemSave", method = RequestMethod.POST)
public void saveSystem(@ModelAttribute("systemForm") SystemForm systemForm, OutputStream outputStream) throws IOException {
logger.info("Save System1: " + systemForm);
logger.info("Save System2: " + systemForm.getfName());
}
したがって、「Save System1」はオブジェクトを文字列に返し、「Save System2」は null を返します。誰かが私が間違っていることを見つけることができますか?
ありがとう、