2

我知道这应该很简单,但我看不出问题出在哪里。我有这两个 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”。

有任何想法吗?

4

2 回答 2

2

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

<p>Fecha inicio: <input type="text" id="iniDate" name="iniDate"/></p>
<p>Fecha fin: <input type="text" id="endDate" name="endDate"/></p>
于 2013-05-09T12:49:06.227 回答
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 类)映射字段的操作相同。

于 2013-05-09T13:37:06.827 回答