你的位置:首页 > Java教程

[Java教程]Structs2动态方法调用


第一种:指定Method属性(Action比较多)

<!-- 声明包 -->
<package name="user" extends="struts-default">

<!-- 定义action -->

<action name="first" method="first" >

<!-- 定义处理成功后的映射页面 -->

<result name="first">first.jsp</result>
</action>

<action name="second" method="second" >
<result name="second">second.jsp</result>
</action>

<action name="third" method="third" >
<result name="third">first.jsp</result>
</action>

</package>

第二种:感叹号方式(需要开启开关)官网不推荐使用这种方式

(1)Structs2中开启开关和定义Action

<constant name="struts.enable.DynamicMethodInvocation" value="true" /> 

<action name="userAction" >
<!-- 定义处理成功后的映射页面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>

(2)index.jsp中

<a href="userAction!add">添加用户</a>
<a href="userAction!update">修改用户</a>

(3)创建名为UserAction的Action对象

public class UserAction extends ActionSupport {

  public String add(){

             return "add";

     }

    public String update(){

             return "update";

     }

}

第三种:通配符方式(官方推荐使用)

(1)jsp页面中

<a href="useraddAction">添加用户</a>
<a href="userupdateAction!">修改用户</a>

(2)Structs2.

<action name="user*Action" method="{1}">
<!-- 定义处理成功后的映射页面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>