Struts2的action中的成员变量是什么时机呗被实例化的,还有他是由那一个类或组件来赋值的呢!?

解决方案 »

  1.   

    实例化的时候是在你发出请求的时候,赋值问题是通过反射,找set方法,具体那个类不清楚
      

  2.   

    Struts调用Action里的方法也是用反射的方法调用的,在调用方法之前会用拦截器完成值的设置。楼主如果有兴趣可以稍微跟一遍源码。多跟几次就清楚了。刚开始觉得很繁琐,几次熟悉之后就觉得也不难了。
      

  3.   

    实例化的时候是在你发出请求的时候,赋值问题是通过反射,找set方法 应该是默认拦截器中的某个拦截器。
      

  4.   

    在你启动web容器的时候就会创建出action对象。
      

  5.   

    你的struts是不是用spring管理的
    用spring管理的话,如果是用到成员变量的情况,加上@scope("prototype")
    否则action是单例存在,成员变量会冲突
      

  6.   


    这个你得从org.apache.struts2.dispatcher.FilterDispatcher入手,因为入口就是它。把源代码下来慢慢找吧。
    我记得好像是一个继承了map的对象里。
      

  7.   

    3L 是正解,
    外加,普通的是servelet 过滤器过滤你的请求,在struts2.xml的配制之前还有一道监听器,监听到struts框架,框架里的源码方法读取在struts2.xml,再去调用对应的action,处理完返回action的结果(string)找对应result标签结果,在返回给servelet,servelet在去更具这result返回给用户对应的jsp(html)
      

  8.   

    你自己从头建个项目,每一步看看框架都给你做了些什么事!!!web.xml为什么是比配的!!!
      

  9.   

    在你发布的时候就会自动帮你实例一个action对象