在AJax中提交Spring表单始终为null

时间:2013-03-04 18:26:04

标签: java ajax spring jsp

我试图通过ajax提交一个spring表单,但表单中的值总是为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'返回一个Object tostring,'Save System2'返回null。谁能发现我做错了什么?

谢谢,

1 个答案:

答案 0 :(得分:1)

我不知道Spring,但我认为{systemForm: $("#systemForm").serialize()}应该是$("#systemForm").serialize()