Groovy怎么开发一个Filter呢?servlet在文档里是有的

oksonic 2008-06-19
Groovy怎么开发一个Filter呢?servlet在文档里是有的

因为Grails中的Filter只能截获action事件,所以想自己写一个Filter.
jimichan 2008-06-19
可以拦截url的呀


filterWhenInBook(uri:'/book/**') {
       before = {
              if(!session.user && !actionName.equals('login')) {
                  redirect(action:'login')
                  return false
               }
           }
}
oksonic 2008-06-19
你试一试拦截一下index.gsp试试就知道了.
jimichan 2008-06-20
我错啦。能不能以插件的方式解决,太繁杂了
oksonic 2008-06-20
想是想过,不过没有Groovy关于Filter的模板,不会写,要不只能用java来写了,但不知道java代码里如何调用GROM,或是怎么转到一个action
xiao0556 2008-06-21
先写一个servletFilter然后使用 grails install-templates 命令,它会创建%Project_Home%/src/templates/war/web.xml 文件。把过滤器配置到这个web.xml里就可以了
oksonic 2008-06-21
我的意思是用Groovy来写过滤器,而不是用java来写,你的方法只是配置过滤器。
xiao0556 2008-06-21
你写个groovy类实现过滤器,不就是用groovy写了吗
oksonic 2008-06-21
怎么个写法呢?
Groovy入门经典里也没有一个例子。
pipihu_yu 2008-06-22
在\grails-app\conf目录下写一个XXXFilters.groovy文件,其中包含要过滤操作的闭包!
例如:
class LoginFilters{
def filters ={
loginCheck(controller:'*',action:'*'){
before = {
if(!session.users){
redirect(controller:'users',action:'login')
return false;
}
}
}
}
}
这样就可以实现了过滤的操作了!
如果要实现中文问题过滤或者其他过滤都可以的哟!
Global site tag (gtag.js) - Google Analytics