Grails GSP null安全检查麻烦

ncc*_*01e 3 grails

我正在尝试在我的GSP上填充文本字段:

<label>Phone(aaa-bbb-cccc):</label>&nbsp<g:textField name="phone" style ="border-radius: 5px" 
                    value="${recordToEdit.telephones = [] ? null : recordToEdit.telephones.first()}"></g:textField><br> 
Run Code Online (Sandbox Code Playgroud)

但它仍然告诉我,我无法访问空列表中的first().电话是一个字符串列表,每个字符串都是一个电话号码.

inj*_*eer 5

正如@gross-jonas指出的那样,recordToEdit.telephones = [] ? .. : .. 已经非常错误了,除非它是一个错字

你要做的检查应该是这样的:

value="${recordToEdit.telephones ? recordToEdit.telephones.first() : ''}"
Run Code Online (Sandbox Code Playgroud)

要么

value="${recordToEdit.telephones?.getAt( 0 ) ?: ''}"
Run Code Online (Sandbox Code Playgroud)