首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定到LocalDate的Spring表单控件现在默认为

绑定到LocalDate的Spring表单控件现在默认为
EN

Stack Overflow用户
提问于 2013-06-06 21:35:19
回答 1查看 609关注 0票数 2

我使用Spring form为Date Of Birth绑定了三个选择控件(day、month和year):select to an org.joda.time.LocalDate。

由于出生日期是可选的,我希望默认日期可以是空的。但是,出生日期是用今天的日期来初始化的。即使我在模型中将出生日期设置为空,也会发生这种情况。

这意味着提交表单时,今天的日期将作为该字段的值发送,这不是我想要的。我并不太关心日期是如何存储在数据库中的,只要null表示是清晰的(当然,null比0000-00-00 00:00:00之类的内容更可取)。

我该如何解决这个问题呢?我可以为LocalDate编写一个包装器,它的默认值为null,并且可能只在表单绑定调用LocalDate时初始化setter。这似乎是一个相当常见的问题,所以也许有更好的方法。

EN

回答 1

Stack Overflow用户

发布于 2013-07-02 15:37:11

我已经找到了解决这个问题的部分方法,但我承认我不明白为什么它会起作用。将控件移动到JSP标记中会有所帮助。这不会在第一页视图中显示所选日期。如果用户输入日期并提交,则会在页面刷新中显示。

这是在第一个页面加载时显示未被选中的日期的代码。

代码语言:javascript
复制
<spring:bind path="${path}.dayOfMonth">
  <select>
       <option value="0"></option>
       <c:forEach items="${days}" var="day">
         <option value="${day}"<c:if test="${date.dayOfMonth eq day}"> selected="selected"</c:if>>${day}</option>
       </c:forEach>
  </select>
</spring:bind>
-- month and year dropdowns
<form:input path="${datepickerPath}" cssStyle="display:none;" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16963553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档