我想修改特定Grails请求的响应内容。如何在请求过滤器中配置 ResponseWrapper?
我希望它是以下内容,但响应是只读属性:
class MyFilters {
def filters = {
wrapFoo(controller:'foo', action:'bar') {
before = {
response = new MyResponseWrapper(response)
}
[...]
谢谢!
最佳答案
你不能 - Grails 过滤器是 Spring HandlerInterceptors 的包装器,并且在处理链上比 servlet 过滤器更进一步被调用。如果您想包装响应,您需要使用真正的 servlet 过滤器。
在 src/java 或 src/groovy 中创建实现 javax.servlet.Filter 的类,并将其注册到 web.xml 中,就像在非 Grails 应用程序中一样。要访问 web.xml,请运行 grails install-templates 并编辑 src/templates/war 中的文件
关于Grails:如何在 Grails 过滤器中设置响应包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5763683/