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> | 本文来源:http://blog.csdn.net/lianghyan/archive/2007/08/22/1754637.aspx
|