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; } } } } } 这样就可以实现了过滤的操作了! 如果要实现中文问题过滤或者其他过滤都可以的哟! |