![](/img/trans.png)
[英]How to use CustomDateEditor and DateTimeFormat at the same time in spring?
[英]Binding CustomDateEditor spring Mvc
我正在使用帶有注釋的Spring MVC。 我尚未注冊任何customDateEditory
在“我的班級”中,我有一個類型為java.lang.Date的屬性。
我讀到的是customDateEditor默認情況下未注冊。 但是,當我用空白日期提交表單時,它會拋出非法的ArgumentException
如果我輸入日期然后提交,則不會引發異常
之后,我將BindingResult作為參數添加到控制器方法,現在它接受空白值
我尚未向控制器添加任何initbinder
控制者
@Controller("orderController")
@RequestMapping(value = "/admin")
public class OrderController extends BaseController {
@RequestMapping(value = "/viewOrders.htm", method = RequestMethod.GET)
public String viewOrders(@ModelAttribute("searchOrder") SearchOrder searchOrder,BindingResult bindingResult,Model model) {
List<Order> orders=orderService.getOrders(searchOrder);
model.addAttribute("orders", orders);
return "order/searchOrder";
}
}
Pojo包含日期字段
public class SearchOrder {
private Integer orderId;
private Long customerId;
private String customerPo;
private Date dateCreatedFrom;
private Date dateCreatedTo;
private Date dateUpdatedFrom;
private Date dateUpdatedTo;
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
public Long getCustomerId() {
return customerId;
}
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
public String getCustomerPo() {
return customerPo;
}
public void setCustomerPo(String customerPo) {
this.customerPo = customerPo;
}
public Date getDateCreatedFrom() {
return dateCreatedFrom;
}
public void setDateCreatedFrom(Date dateCreatedFrom) {
this.dateCreatedFrom = dateCreatedFrom;
}
public Date getDateCreatedTo() {
return dateCreatedTo;
}
public void setDateCreatedTo(Date dateCreatedTo) {
this.dateCreatedTo = dateCreatedTo;
}
public Date getDateUpdatedFrom() {
return dateUpdatedFrom;
}
public void setDateUpdatedFrom(Date dateUpdatedFrom) {
this.dateUpdatedFrom = dateUpdatedFrom;
}
public Date getDateUpdatedTo() {
return dateUpdatedTo;
}
public void setDateUpdatedTo(Date dateUpdatedTo) {
this.dateUpdatedTo = dateUpdatedTo;
}
@Override
public String toString() {
return "SearchOrder [orderId=" + orderId + ", customerId=" + customerId
+ ", customerPo=" + customerPo + ", dateCreatedFrom="
+ dateCreatedFrom + ", dateCreatedTo=" + dateCreatedTo
+ ", dateUpdatedFrom=" + dateUpdatedFrom + ", dateUpdatedTo="
+ dateUpdatedTo + "]";
}
}
請給點燈
當您添加BindingResult
,此綁定結果將包含有關綁定和驗證無效的信息。 您可以使用BindingResult.hasErrors()
來檢查綁定結果是否包含有關“問題”的信息。
如果您沒有BindingResult
方法參數,那么如果存在綁定錯誤,Spring會自動拋出異常。
加
for(ObjectError objectError : bindingResult.getAllErrors()) {
Sysout.println("error: " + objectError);
}
獲取有關綁定錯誤的一些信息
(順便說一句:方法參數的順序很重要: BindingResult
參數必須是應使用此BindingResult
檢查的Command對象之后的下一個參數)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.