Tôi có một ngày (dưới dạng một chuỗi) đang được gửi. Tôi muốn ánh xạ điều này đến một đối tượng lệnh. Tôi đã nhìn xung quanh một chút và không tìm thấy nguồn tài nguyên tuyệt vời nào về cách lập bản đồ này trong một đối tượng lệnh đến một ngày thực.ngày kết thúc đối tượng lệnh trong Grails
Nếu tôi đã làm điều này trong bộ điều khiển chính nó tôi chỉ có thể làm như sau, tuy nhiên điều này không cho phép tôi dễ dàng ánh xạ vào đối tượng lệnh của tôi.
def endDate = params.date('endDate', 'MM/dd/yyyy')
Đối với đối tượng lệnh của tôi, gần nhất tôi có thể nhận được là ghi đè lên getter và setter cho đối tượng ngày. Cả hai cần phải được ghi đè hoặc người khác setter không được sử dụng. Đây là những gì tôi đã thử lần đầu tiên (đặt String thành Date, nhưng lấy Date). Vì vậy, điều này không sử dụng setter:
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
}
Điều này không cung cấp bất kỳ vấn đề thời gian chạy nào, nhưng vô dụng vì tôi không thể rút đối tượng Ngày thực tế.
@grails.validation.Validateable
class TaskCreateCommand {
Date startDate
public void setStartDate(String dateStr){
this.start = Date.parse('MM/dd/yyyy', dateStr)
}
public String getStartDate(){
return start.toString()
}
}
Câu trả lời có hữu ích không? – dmahapatro