我正在尝试这样在我的GSP上填充一个文本字段:
<label>Phone(aaa-bbb-cccc):</label> <g:textField name="phone" style ="border-radius: 5px"
value="${recordToEdit.telephones = [] ? null : recordToEdit.telephones.first()}"></g:textField><br>
但它仍然告诉我,我无法访问空列表中的first()。电话是一个字符串列表,每个字符串都是一个电话号码。
最佳答案
正如@ gross-jonas指出的那样,recordToEdit.telephones = [] ? .. : ..
已经非常错误了,除非它是一个错字
您要进行的检查应如下所示:
value="${recordToEdit.telephones ? recordToEdit.telephones.first() : ''}"
要么
value="${recordToEdit.telephones?.getAt( 0 ) ?: ''}"