struts2 action 常用配置方法 .

struts2 action几乎完全吸收了xwork 的精华,近日学习struts 2,总结一下action的配制方法。首先看一下com.opensymphony.xwork2.Action的接口声明,Action提供execute() 方法,子类必须实现execute() 方法。

  public interface Action {
    public String execute() throws Exception;
}

com.opensymphony.xwork2.ActionSupport是com.opensymphony.xwork2.Action的缺省实现,实现了execute()方法。我们开发的Action通常继承com.opensymphony.xwork2.ActionSupport

1.简单的action配置

 <action name="logon" class="tutorial.Logon">
  <result type="redirect-action">Menu</result>
  <result name="input">/tutorial/Logon.jsp</result>
</action>

   前台发送调用logon.action的请求,截听器调用默认的execute()方法

2.在开发中通常将多个方法写在一个action中,对于这样action可以采用集中配置方式
2.1.一个方法一个action配制

 <action name="delete" class="example.CrudAction" method="delete">


2.2通配符方式
2.2.1 *

 <action name="*Crud" class="example.Crud" method="{1}">

  method="{1}"表示,第一个通配符是方法.

  action调用的例子:addCrud.action, deleteCrud.action, updateCrud.action, viewCrud.action


2.2.2 分割符加上*,分割符如:下划线_, 惊叹号!

 <action name="crud_*" class="example.Crud" method="{1}">

   调用方式:crud_add.action, crud_delete.action

 <action name="crud!*" class="example.Crud" method="{1}">

      调用方式:crud!add.action, crud!delete.action

2.3 url pattern: /{model}/{method}.action
“/User/add.action” 调用User的add方法

 

<action name=”*/*” method=”{2}”
class=”com.infoq.actions.{1}Action”>
<result type=”redirect”>/{1}/view.action</result>
<result name=”view”>/{1}/view.jsp</result>
<result name=”input”>/{1}/edit.jsp</result>
<result name=”home”>/{1}/home.jsp</result>
</action>

posted @ 2011-07-12 17:22  布丰  阅读(351)  评论(0)    收藏  举报