gpt4 book ai didi

java - 在没有 Grails 的普通 Spring MVC 中使用 GSP View

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:25:58 25 4
gpt4 key购买 nike

我想在普通的旧 Spring MVC 应用程序中使用 GSP View 而不是 JSP/JSTL View 。我在 web.xml 中添加了一个 groovy.servlet.TemplateServlet,如下所示:

<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 在使用 c:out 标记时默认转义 XML,而 Grails 具有编解码器的概念以自动转义 GSP 中使用的值。上面介绍的模板方法默认是不转义的,这就需要开发者非常小心,避免XSS漏洞。

是否有另一种(更好的)方法来使用 GSP,包括在不使用 Grails 的普通 Spring MVC 应用程序中自动转义?

最佳答案

今天刚刚发布了 Spring Boot 的 GSP。这提供了在常规 Spring Web 应用程序中使用 GSP 而不是 JSP 的能力。您可以在此处查看示例:https://github.com/grails/grails-boot/blob/master/sample-apps/gsp/script/templates/index.gsp

关于java - 在没有 Grails 的普通 Spring MVC 中使用 GSP View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com