0
grailsのgroovyの新機能です。私はGSPページでdatepickerを使用します。私はそれを使用して日付を取得し、サーバー側で解析すると、オブジェクトを保存することはできません。datepickerから日付を取得してGroovyで解析するとオブジェクトを保存できません
マイドメインは
class PurchaseOrder {
Date orderDate;
Date deliveryDate;
Double totalQuantity;
Double deliveredQuantity;
Double totalCost;
Long totalItem;
Long deliveredTotalItem;
Long requisition
static belongsTo = [branch:OrganizationalBranch,orderedBy: Employee, supplier: Supplier]
static hasMany = [itemDetails:OrderDetails]
static constraints = {
deliveryDate(nullable: true);
deliveredQuantity(nullable: true);
deliveredTotalItem(nullable: true);
itemDetails(nullable: true);
orderDate(nullable: true);
totalItem(nullable: true);
totalQuantity(nullable: true);
totalCost(nullable: true);
}
}
マイGSPがあるさ:
<div class="fieldcontain ${hasErrors(bean: purchaseOrderInstance, field: 'deliveryDate', 'error')} ">
<label for="deliveryDate">
<g:message code="purchaseOrder.deliveryDate.label" default="Delivery Date" />
</label>
<g:field type="deliveryDate" id="deliveryDate" name="deliveryDate" class="datepicker" />
</div>
とコントローラのコードは次のとおりです。
try {
String orderDateSt = params?.deliveryDate
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy")
def orderDate = new Date().parse("MM/dd/yyyy", orderDateSt.trim())
purchaseOrderInstance.deliveryDate = orderDate
}catch (Exception ex) {
ex.getMessage()
ex.printStackTrace()
}
エラーは次のとおりです。
purchase.PurchaseOrderController - Field error in object 'com.sb.ims.purchase.PurchaseOrder' on field 'deliveryDate': rejected value [06/30/2016]; codes [com.sb.ims.purchase.PurchaseOrder.deliveryDate.typeMismatch.error,com.sb.ims.purchase.PurchaseOrder.deliveryDate.typeMismatch,purchaseOrder.deliveryDate.typeMismatch.error,purchaseOrder.deliveryDate.typeMismatch,typeMismatch.com.sb.ims.purchase.PurchaseOrder.deliveryDate,typeMismatch.deliveryDate,typeMismatch.java.util.Date,typeMismatch]; arguments [deliveryDate]; default message [Unparseable date: "06/30/2016"]
どうすればこの問題を解決できますか?
また、グローバルにプロパティ 'grails.databinding.dateFormats'で設定します – Loucher