Spring MVC隐藏日期字段未映射到控制器

时间:2014-01-23 12:42:18

标签: java spring spring-mvc spring-form

我正在开发一个更新表单。对于此表单,我正在加载一个屏幕,该屏幕首先显示所有现有详细信息,并为用户提供编辑选项。现在我有一个名为createdOnTs的字段,这是一个日期字段,我不希望用户能够更新。所以我在表单中添加了一个spring form隐藏元素。

<td><form:hidden path="createdOnTs"/></td>

使用firbug检查值时,此字段确实具有从DB获取的值。但是当用户提交更新按钮和在那里调用的Spring控制器时,值将变为null。如何配置spring MVC以映射现有的日期隐藏值?

2 个答案:

答案 0 :(得分:1)

我有同样的问题将字符串日期转换为实际日期并将其分配给模型。在你的情况下,Spring不会为你做这件事,在你的模型类中,你已经将一个字符串日期写入了Util Date convert util方法,并改变了你的路径以反映方法。

这就是我的代码中的内容。

    <input name ="stringDate" value="01/01/2010 10:10:10" style="display:none";> 

我的模型中有这个方法。

   public void setStringDate(String stringDate){
    //convert stringDate to Date. 
    Date date = convertToUtilDate(stringDate);
  }

答案 1 :(得分:0)

让spring binder知道你希望它绑定的类类型。因此,您无法通过添加TypeMismatchException

获得class = "date"
<td><form:hidden path = "createdOnTs" class = "date"/></td>