jQuery datepicker有效但Spring控制器获取null日期

时间:2013-05-09 12:43:03

标签: jquery jsp spring-mvc

我知道这应该很简单,但我不知道问题出在哪里。 我有这两个jquery日期选择器:

<script>
            $(function() {
                $( "#iniDate" ).datepicker({ dateFormat: "dd-mm-yy", firstDay: 1, changeYear: true });
                $( "#endDate" ).datepicker({ dateFormat: "dd-mm-yy", firstDay: 1, changeYear: true });
            });
</script>

和JSP:

<form:form method="post" action="result" commandName="mainForm">
      <p>Fecha inicio: <input type="text" id="iniDate" path="iniDate"/></p>
      <p>Fecha fin: <input type="text" id="endDate" path="endDate"/></p>
      <p class="submit"><input type="submit" name="commit" value="Go"></p>
</form:form>

当我单击文本框并选择日期时,它会在字段中正确复制,但是当我提交表单时,在处理其POST方法的控制器中读取其值时,我总是得到“null”。 / p>

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

尝试为这些输入字段命名,如果不使用,则删除路径

<p>Fecha inicio: <input type="text" id="iniDate" name="iniDate"/></p>
<p>Fecha fin: <input type="text" id="endDate" name="endDate"/></p>

答案 1 :(得分:1)

 <input type="text" id="iniDate" name="iniDate"/>

名称属性是必需的,因为当表单提交时,它会自动映射spring-mvc中的pojo类字段,而pojo类变量名必须与属性名称相同。 我们知道在jsp中我们使用

  <jsp:useBean id="person" type="" class="">
     <jsp:setProperty name="person" property="" value="" />  
 </jsp:useBean>

这与使用java bean类(即pojo类)映射字段的操作相同。