アノテーションを使用してSpring MVCに取り組んでいます。customDateEditory を登録していません
My Class には、タイプ java.lang.Date のプロパティが 1 つあります。
私が読んだのは、customDateEditor がデフォルトで登録されていないということでした。しかし、空白の日付でフォームを送信すると、 illegalArgumentException がスローされます
日付を入力して送信すると、例外がスローされません
その後、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 + "]";
}
}
光を当ててください