日期:2014-05-17  浏览次数:20712 次

struts2拦截器问题
我要实现用户拦截器和管理员拦截器,但是增删改只需要管理员拦截器即可,两个拦截器是分开写在两个类中,还是写在一个类中?如果写在一个类中怎样只是用其中的一个拦截器。谢谢!
------解决方案--------------------
写在一起,业务逻辑分开如何
------解决方案--------------------
我是建议分开,毕竟两个方面的业务是不同的,将来修改的时候只要针对这个类修改即可
------解决方案--------------------
用户和管理员应该是一张表吧,只是权限不同,那必然写一个拦截器啊。你可以通过actionName来区分,还有就是用户的那些action和管理员的那些action你要命名有规律:
1.首先得到你的访问的action的name

String actionName=invocation.getInvocationContext().getName();

2.在服务器启动时,给你的application作用域初始化一批数据,就是两个集合(管理员的actionName集合以及用户的actionName集合)
3.在拦截器中得到这两个集合,写一个条件分支,看当前的actionName在属于哪个集合,分开处理即可,不知道楼主明白否。
------解决方案--------------------
写在一起,根据权限分开判断