struts2的Action配备

struts2的Action配置
1,Action的配置格式基本为:
<package name="包名字" extends="继承的包" namespace="空间名" >
   <action name="访问的名称" class="处理请求的类">
    <result name="处理类返回的结果名称">该结果名称所对应的JSP页面</result>
   </action>
</package>
如:
<package name="aa" extends="struts-default" >
   <action name="myaa" class="com.test.MyAction">
    <result name="success">/test/msg.jsp</result>
   </action>
</package>
访问时:
<a href="myaa.action" >访问myaaAction</a>

2,method属性,该属性可以把一个类的多个方法映射为多个Action,如:
类文件
public class MethodAction extends ActionSupport
{
public String add()
{
   return SUCCESS;
}
public String delete()
{
   return SUCCESS;
}
public String modify()
{
   return SUCCESS;
}
public String query()
{
   return SUCCESS;
}
}
struts.xml配置文件:
<action name="访问的方法名" class="处理的类" method="处理的方法名">
    <result name="结果页名">结果页面</result>
</action>


<action name="add" class="com.struts2.chen.MethodAction" method="add">
    <result name="success">/method/addRes.jsp</result>
   </action>
   <action name="delete" class="com.struts2.chen.MethodAction" method="delete">
    <result name="success">/method/deleteRes.jsp</result>
   </action>
   <action name="modify" class="com.struts2.chen.MethodAction" method="modify">
    <result name="success">/method/modifyRes.jsp</result>
   </action>
   <action name="query" class="com.struts2.chen.MethodAction" method="query">
    <result name="success">/method/queryRes.jsp</result>
   </action>
页面:
    <a href="add.action">增加</a><br />
    <a href="delete.action">删除</a><br />
    <a href="modify.action">修改</a><br />
    <a href="query.action">查询</a><br />

3。动态调用方法DMI 如果是动态调用,那么就不必要象上面那样填写那么多的配置,可以直接在页面上指定调用的方法。如下:
1)类与以上配置一样
2)struts.xml配置为:
<action name="methodaction" class="com.struts2.chen.MethodAction">
    <result name="success">/method/Res.jsp</result>
   </action>
3)页面:
<a href="<%=path %>/methodaction!add.action">增加DMI</a><br />
    <a href="<%=path %>/methodaction!delete.action">删除DMI</a><br />
    <a href="<%=path %>/methodaction!modify.action">修改DMI</a><br />
    <a href="<%=path %>/methodaction!query.action">查询DMI</a><br />

以上一般选择用2比较多,动态的调用方法调用的比较少,因为每个方法中可能调用的拦截器和过滤器可能不一样,所以,一般选用2。

4。forward跳转,如果在result中不加上 type="redirect" ,那么就是forward的服务器跳转,加上后就是客户端的跳转 如:struts配置
<action name="index">
   <result type="redirect">index.jsp</result>
   </action>
在页面中调用的时候,这么写:
<a href="<%=path %>/index.action">返回首页</a>

5。错误提示,当访问不存在的action 的时候,会报错,那么就应该到struts.xml中加上一个默认错误ACTION。如:
<default-action-ref name="error" />
   <action name="error">
    <result>/error.jsp</result>
</action>
错误的,不存在的页面,那么就在web.xml中加如下配置:
<error-page>
   <error-code>404</error-code>
   <location>/error.jsp</location>
</error-page>
可能页面错误哪个找不到,那么就要到在IE【工具】->【Internet选项】->【高级】中勾掉【显示友好http错误提示】;

http://hi.baidu.com/a393060727/blog/item/a1d541665205322eab184c21.html