大家好,我现在刚开始学习struts 2, 请大家帮我解答一个问题
action 中的exectue方法和别的方法有什么关系,如果在一个action中定义了execute和别的方法,execute是默认的方法,在调用的时候,这些方法有什么区别?

解决方案 »

  1.   

    execute()方法是框架默认要调用的方法,而其他方法??哦 你说的其他方法是指哪些哦??自己写的  还是??
      

  2.   

    对,就是自己写的,比如我一个action里,有默认的exectue方法,之后我写了add delete modify 等等别的方法,exectue方法先调用?
      

  3.   

    例如user.action->调用execute方法
        user!saveUser.action->调用saveUser方法你也可以在struts.xml标签中配置 <action method="方法名"> 来制定调用的方法!
      

  4.   

    没有区别,只是execute是默认的方法。如果你的配置文件没有配置path的处理方法(如你自己的add),那么execute会被用来处理。
    如果你配置了add方法,那么execute就不会调用。add和execute没有先后顺序,也没什么关系。
      

  5.   

    <action name="add" class="com.yourAction" method="add">
    </action>
      

  6.   

    execute 是默认的。如果<action/>中没有指定 method 属性时 默认执行对应类中的 execute方法;
    否则,执行相应的 method 指定方法
      

  7.   

    在struts2中,只要与excute方法格式相同的(也就是返回值相同的),都可以是struts2的处理方法,
    在struts.xml的action里面配置method=“方法名”,struts2则会自动跳到对应的方法。
    还可以在你的请求url中这样写:action名称_方法名.do ,在action中,action名称则命名为:action名_*,而method="{1}",同样可以自动找到相应的方法哦~
      

  8.   

    楼上很多人都说的很清楚了,关键就是execute()方法为Strust2的action默认必须执行的方法,其他自定义的方法是要在struts.xml配置中指定 如:
    <action name="add" class="com.yourAction" method="add">
    </action>
    指定方法为add其它也没多大学问了。