почему мы используем замыкания в g: select optionvalue
Я могу понять, что такое замыкания. я могу понять ниже пример.
def list = ['a','b','c','d']
def newList = []
def clos = { it.toUpperCase() }
list.collect( newList, clos )
assert newList == ["A", "B", "C", "D"]
Я пошел посмотреть g: select documentation. я видел внизу.
<g:select optionKey="id" optionValue="${{it.title?.toUpperCase()}}" name="book.title" from="${bookList}" />
Я не понял ${{это.название?.метод touppercase()}}.
Я понимаю логику, что для каждого объекта заголовок преобразуется в верхний регистр, но зачем нам нужно двойное "{}"..Почему он не работал, используя ${it.название?.заглавные буквы()}
Ссылка на документацию Введите описание ссылки здесь
1 ответ:
Внешний ${ } не является замыканием, этовыражение GSP , только внутренний {} является замыканием. Если вы ставите только ${it.название?.метод touppercase()} вы не передаете параметр закрытия, но собственно "его.название?.toUpperCase () " разрешенное значение.