一、三种书写action的方法:
    1、普通java类 里面有返回一个字符串的excute方法。
                            public class Action1 {
                                         public String execute() {
                                                  return "success";
                                }
                            }
   2、实现action接口(里面只有一个方法就是excute),重写excute方法。
                                

                               import com.opensymphony.xwork2.Action;

                                  public class Action2 implements Action {
                                        @Override
                                         public String execute() {
                                                         return "success";
                                         }
                                  }

        
    3、继承ActionSupport类(是xwork里面的类),重写excute方法。( 实际开发用这种,好处是可以直接调用struts2封装好的方法页面上的路径切记用绝对路径。

                            import com.opensymphony.xwork2.ActionSupport;

                               public class Action3 extends ActionSupport {

                                             @Override
                                              public String execute() {
                                                               return "success";
                                           }
                                    }


二、执行action的几种方法:
    action执行的时候并不一定要执行excute方法
    可以再配置struts.xml文件配action的时候加一个method=属性来制定调用哪个方法。
    也可以再url中动态指定(动态方法调用DMI)(推荐)用!

三、接收参数的方式
1、用action的属性接收参数。
                 spacer.gif
2、用预模型接收参数 3、实现modelDriven接口
    注:传递参数有中文乱码,在配置文件里面配置