_widget.gsp中的propertyName null(默认值为3.3.8)

时间:2019-02-20 15:40:34

标签: field grails3

由于无法将域与java.sql.Date一起使用(输入给出属性issueDate类型不匹配,显示内容显示了时间和tz,由于创建/ grails-app / views / _fields / class / propertyName /对于java.sql.Date会产生grails-app / views / _fields / date / propertyName /,但不幸的是,它也会覆盖java.util.Date等的显示。我们一直在尝试获取java.time.Local的有效UI,但遇到了问题。另请参见github ticket

首先,要获取日期选择器,我们尝试将其放入/grails-app/views/_fields/localDate/_widget.gsp:

  <g:datePicker name="${propertyName}"  precision="day" value="${new Date()}"
          noSelection="['':'-Choose-']"/>

但是,在生成的html中,我们看到了:

<label for='issueDate'>Issue Date</label><input type="hidden" name="null" value="date.struct" />
<select name="null_day" id="null_day" aria-labelledby="null">
<option value="" selected="selected">-Choose-</option>
  <option value="1">1</option>
  <option value="2">2</option>

问题是name =“ null_day”应该是name =“ issueDate_day”,等等,

如果我们的域对象看起来像这样:

类文档{     用户用户     DocumentType documentType     字符串documentNumber     国家国家问题     字符串发布     java.time.LocalDate issueDate     java.time.LocalDate expirationDate }

我们应该看到

<select name="issueDate_day" id="null_day" aria-labelledby="null">

如果我们对小部件中的属性名称之一进行硬编码,则它“有效”(但显然这不是解决方案)。例如

  <g:datePicker name="issueDate"  precision="day" value="${new Date()}"
          noSelection="['':'-Choose-']"/>

请注意,该域的控制器只是简单的脚手架,即:

class DocumentController{
  static scaffold=Document
}

没有创建任何视图,但是如果没有显式视图,问题将是相同的。

有什么建议吗?

0 个答案:

没有答案