Таким образом, стандартные контроллеры, сгенерированные для вас в Grails, вернут пользователю сообщение, сообщающее ему, что что-то было успешно вставлено / отредактировано. По умолчанию возвращаемый идентификатор вставленной вещи, domainClassInstance.id в конце следующей строки
flash.message = "${message(
code: 'default.updated.message',
args: [
message(code: 'domainclass.label', default: ''),
domainClassInstance.id
])}"
Очевидное улучшение, которое можно внести в ваше реальное приложение, - изменить это для заголовка / имени рассматриваемого объекта, то есть:
flash.message = "${message(
code: 'default.updated.message',
args: [
message(code: 'domainClass.label', default: ''),
domainClassInstance.name
])}"
Это, однако, представляет уязвимость XSS, поскольку поле «имя» выводится непосредственно в виде сообщения. Есть ли ловкий надежный способ рекомендовать людям создавать свои сообщения, чтобы избежать этого, или мне нужно, чтобы люди всегда отмечали .encodeAsHTML () на параметре name? что мне кажется немного склонным к замешательству.
Спасибо,
Robin