<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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!