我正在为grails中的Domain对象编写报告功能。有字段“余额”是BigDecimal。我在编写查询时遇到问题。感谢任何帮助。
查看
<tr class="prop">
<td valign="top" class="name">
<label for="balance"><g:message code="sale.balance.label" default="Balance" /></label>
</td>
<td valign="top" class="value">
<g:textField name="balance" value="${params.balance}" />
</td>
</tr>
控制器
def c = Sale.createCriteria()
def saleList = c.list {
if(params.id)
idEq(java.lang.Long.parseLong(params.id))
if(params.customerName)
like('customerName', params.customerName+"%")
if(params.customerPh)
like('customerPh', params.customerPh+"%")
if(params.balance)
ge('balance', java.math.BigDecimal(params.balance))
if(params.totalSale)
ge('totalSale', params.totalSale)
异常
groovy.lang.MissingPropertyException:没有这样的属性:java for class:grails.orm.HibernateCriteriaBuilder at colorthread.SaleController $ _closure9_closure23.doCall(SaleController.groovy:289) at colorthread.SaleController $ _closure9_closure23.doCall(SaleController.groovy)
答案 0 :(得分:3)
您缺少 new 关键字:
ge('balance', new java.math.BigDecimal(params.balance))