gpt4 book ai didi

java - 以 yyyy-MM-dd 格式在 springmvc 中绑定(bind)日期

转载 作者:搜寻专家 更新时间:2023-11-01 01:07:46 25 4
gpt4 key购买 nike

<tr class="rowsAdded">
<td><input name="item" class="form-control" type="text" placeholder="Item" /></td>
<td><input name="amount" class="form-control" type="number" placeholder="Amount" /></td>
<td><input name="expenseDate" class="form-control" type="date"placeholder="ExpenseDate" /></td>
</tr>

下面是我的controller和Init Binder

@RequestMapping (value = "/saveExpenses", method=RequestMethod.POST)
public String saveExpenses (@RequestBody ExpenseDetailsListVO expenseDetailsListVO, Model model,BindingResult result) {
if (result.hasErrors()) {
System.out.println(result.getFieldError().getField().toString()+" error");
}
System.out.println(expenseDetailsListVO);
return "success";
}

@InitBinder
public void initBinder(WebDataBinder webDataBinder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

通过这种方式,我想要的日期格式不起作用,这就是我得到的输出expenseDate=2015 年 3 月 18 日星期三 05:30:00 IST但我想把它变成一种特定的格式,比如 yyyy-MM-dd ...建议我这样做的方法。

最佳答案

这不是更容易吗?

实体或表单支持对象:

class Foo {

/* handles data-binding (parsing) and display if spring form tld or spring:eval */
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date expenseDate;

...
}

在表单中:

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>

<form:form modelAttribute="modelAttributeName">
<form:input type="date" path="expenseDate" />
</form:form>

或者只是为了显示:

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>

<spring:eval expression="modelAttributeName.expenseDate" />

一些迂腐的笔记:

  1. 将 CSS 用于布局,而不是表格。请参阅 Bootstrap 的网格系统。
  2. 使用Post-Redirect-Get形式的模式。
  3. 使用 Spring 的 Form 标签库进行适当的 HTML 转义和 CSRF 保护
  4. 在 Controller 处理程序方法中使用@Validated 进行验证
  5. 您在表单中的“占位符”之前缺少一个空格

请在此处查看我的帖子以获得最佳实践:Spring MVC: Validation, Post-Redirect-Get, Partial Updates, Optimistic Concurrency, Field Security

关于java - 以 yyyy-MM-dd 格式在 springmvc 中绑定(bind)日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com