0

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:&nbsp;</td>
        <td valign="top"><form:input path="fName" size="20" />&nbsp;</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 を返します。誰かが私が間違っていることを見つけることができますか?

ありがとう、

4

1 に答える 1

1

{systemForm: $("#systemForm").serialize()}私はSpringを知りませんが、ただそうあるべきだと思います$("#systemForm").serialize()

于 2013-03-04T18:30:32.737 に答える