Я бы хотел использовать представления GSP вместо представлений JSP / JSTL в простом старом приложении Spring MVC.Я добавил groovy.servlet.TemplateServlet в web.xml следующим образом:
<servlet>
<servlet-name>GroovyTemplate</servlet-name>
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
<init-param>
<param-name>template.engine</param-name>
<param-value>groovy.text.GStringTemplateEngine</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>GroovyTemplate</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>
И настроил Spring InternalResourceViewResolver для загрузки файлов GPS.До этого момента все работало нормально, но для представления значений в модели шаблону мне пришлось проделать некоторые уловки (создать подкласс TemplateServlet и добавить их в ServletBinding).
Теперь мое следующее препятствие заключается в том, что JSTLпо умолчанию экранирует XML при использовании тега c: out, а Grails имеет понятие кодеков для автоматического экранирования значений, используемых в GSP.Описанный выше шаблонный метод не скрывается по умолчанию, поэтому разработчики должны быть очень осторожны, чтобы избежать уязвимостей XSS.
Есть ли другой (лучший) способ использования GSP, включая автоматическое экранирование в простом приложении Spring MVC безиспользуя Grails?