例如:某个struts.xml配置文件有如下包配置
<package name="user">
*****
*****
</package>在拦截器中能不能动态的获取当前访问的package的name?
问题有点怪哟,不过还真需要,研究半天没结果,谢谢告知!

解决方案 »

  1.   

    拦截器说明白了就是filter,filter是拦截url和请求参数的,在http协议中是看不到struts的包名的。所以是拦截不到的。
      

  2.   

    哦,谢了,那有没有什么旁门左道的方法获取?除直接解析XML文件外。
      

  3.   

    这个是肯定获取不到的.!
    拦截器中唯一暴露给你使用的就是ActionInvocation,你要获得最多的也只是和Action相关的,哪能获得包名, struts.xml中package的name是纯属给别的包继承的, 无任何其他作用
      

  4.   

    其实我也知道很难获取,就是抱着一丝侥幸心理。
    我想利用这个包名作为权限控制配置,不管哪个模块只要包名中含有*-admin-*的那么这个包下的所有action请求都属于admin这个角色才能访问(当然角色可以是多个,如果这个包同时可以被两个角色访问那么就这么写*-admin-register-*)
    呵呵,当然,现在使用拦截器来配置的,效果也差不多。