1、Action写到默认的struts.xml文件里面的访问方式
<action name="menu" method="menuTree"class="menuTreeAction">
</action>
访问则要写:
写法:
“../menu.action?param=value; 可以通过url传参 ”
Action中的方法通配符
有些时候对Action中方法的调用满足一定的规律,例如edit Action对应edit方法,delete Action对应 delete方法,这个时候我们可以使用方法通配符,例如:
<actionname="*Crud" class="example.Crud"method="{1}"> 这时,editCrud Action的引用将调用edit方法,同理,deleteCrud Action的引用将调用delete 方法。
另外一种比较常用的方式是使用下划线分割,例如:
<action name="Crud_*"class="example.Crud" method="{1}">
这样当遇到如下调用的时候可以找到对应的方法。
"action=Crud_input" => input方法
"action=Crud_delete"=> delete方法
通配符和普通的配置具有相同的地位,可以结合使用框架的所有其他功能。
<package name="aa" namespace="/GI"extends="struts-default" >
<!-- 说明。下划线访问配置。*代表方法。当访问的时候是gameInfo_methodName就会自动匹配对应的action 这里的下划线还可以换成 "!"-->
<action name="gameInfo_*"class="com.grandsys.gameinfo.action.GameInfoAction"method="{1}">
<result type="redirect">/page/index.jsp</result> 重定向的指定
</action>
</package>
Package name随便写,namespace自己定义,访问的时候要用到。
Action的name是自己定义的_后面是methodName访问的时候要用到。
Class要写包名+类名。Method=”{1}”指的是通配符的写法
再添加一个实例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="agentstatus" namespace="/pages/sysMeterial/sysMeterial05" extends="struts-default" >
<action name="agentstatus!*" method="{1}" class="agentStatusAction">
</action>
<action name="statusWg!*" method="{1}" class="statusWgAction" />
<action name="statusNsts!*" method="{1}" class="statusNstsAction" />
<action name="statusCount!*" method="{1}" class="statusCountAction" />
<action name="statusConfig!*" method="{1}" class="statusConfigAction" />
<action name="statusIcons!*" method="{1}" class="statusIconsAction" />
</package>
</struts>