Struts2動態方法調用

Struts2動態方法調用

在Struts2中方法調用概括起來主要有三種形式

指定method屬性

<action name="student" class="com.itmyhome.Student" method="add">
    <result name="add">/success.jsp</result>
</action>

這樣Struts2就會調用Student 中的add方法。

動態方法調用(DMI)

用這種方法需要設置一個常量

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

動態方法調用是指表單元素的action并不是直接等于某個Action的名字,而是以如下形式來指定Form的action屬性

<!-- action屬性為action!methodName的形式 -->
<action = "action!methodName.action"

在struts.xml中定義如下Action

<action name="student" class="com.itmyhome.StudentAction">
      <result name="add">/add.jsp</result>
      <result name="delete">/delete.jsp</result>
</action>

StudentAction代碼為

public class StudentAction extends ActionSupport {
    public String add(){
        return "add";
    }
    public String delete(){
        return "delete";
    }
}

則在JSP中用如下方式調用方法

<a href=”http://student!add.action“>  新增學生</a>
<a href=“http://student!delete.action”> 刪除學生</a>

通配符(推薦使用)

<action name="student*" class="com.itmyhome.StudentAction" method="{1}">
    <result name="{1}">/student{1}.jsp</result>
</action>

則在JSP中用如下方式調用方法

<a href=“http://studentadd”>  新增學生</a>
<a href=“http://studentdelete”> 刪除學生</a>

studentadd就會調用StudentAction中的add方法 然后跳轉到studentadd.jsp

studentdelete就會調用StudentAction中的delete方法 然后跳轉到studentdelete.jsp

Struts2支持動態方法調用,它指的是一個Action中有多個方法, 系統根據表單元素給定的action來訪問不同的方法,而不用寫多個Action。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 動態方法調用 在Struts2中動態方法調用有三種方式,動態方法調用就是為了解決一個Action對應多個請求的處理...
    可愛傻妞是我的愛閱讀 251評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代產品,是在 struts1和WebWork的...
    inke閱讀 2,276評論 0 50
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,837評論 0 11
  • 坐在窗前,望著窗外:天氣灰暗還下著毛毛細雨,樓上小水滴正好滴在陽臺,于是我取名叫做滴滴雨。 今天是個特別的曰子:七...
    滴滴雨閱讀 158評論 1 0