你说的术语还相当专业啊,你只要知道,页面上的东西经配置文件解析,调用actionform,自动传值就行了,想要理解的话,把源码的流程走一遍就差不多了(上面都有注释)。

解决方案 »

  1.   

    ActionServlet在初始化的时候,已经根据struts-config.xml配置文件的信息,创建了相关的
    内部对象,用于存放这些信息,这些内部对象就是Action实例吗?
    答:不是,这些内部对象只是用于存放配置文件的信息,比如:某个action对应的form,以及他的scope等。
    如果你发送请求,那么actionServlet根据请求,和这些“内部对象”的内容进行比较,比如说,如果请求,和内部对象的某个path属性匹配,那么ActionServlet将根据这个配置信息的全部内容,构造出一个action,返回给用户。如果找不到匹配的,那么返回异常!
    其实我这里说的“内部对象”,很不专业,但是你可以把他理解成一个数据库,的形式。它的内部存放了struts-config.xml的信息。
    他的形式可以是这样:                   内部对象
    -------------------------------------------------
    path               input            form            scope      ....
    addUser            addUser.jsp      UserForm        request   ....
    deleteUser         deleteUser.jsp   ......                ..........................
    如果你的添加用户的页面的form 的action属性值为:addUser.do那么web.xml中,会把一切以.do结尾的请求,交由actionServlet来处理,结果找到一个path=addUser,而且可以读取其相关信息。那么actionServlet就根据这些信息,构造一个action 并返回给用户。然后,actionServlet根据你的请求,在“内部”对象中,进行匹配,