動態呼叫方法

2021-07-27 08:36:40 字數 1321 閱讀 3108

若 action 中存在多個方法,但在配置檔案中註冊該 action 時,並未為每個方法指定乙個,而是只為這一

個 action 類註冊了乙個。那麼,當使用者訪問該的時,到底執行哪個方法,則是由使用者發出的請求動

態決定。即僅從配置檔案是看不出

標籤是對應哪個方法的,只有在執行時根據具體的使用者請求,才可決定執行

哪個方法。這種情況稱為動態呼叫方法。動態呼叫方法有兩種實現方式。

動態方法呼叫是指,在位址列提交請求時,直接在 url 後跟上「!方法名」方式動態指定要執行的方法。

不過,動態方法呼叫預設是關閉的,可以通過改變「動態方法呼叫」常量struts.enable.dynamicmethodinvocation的

值來開啟動態方法呼叫功能。

可以在struts.xml中設定struts.enable.dynamicmethodinvocation = true;

方法如下,在struts節點下加下面這句。

示例:

action**示例:

package cn.ccnu.actions;

public class someaction

public string dosecond()

}

struts.xml**示例

<?xml version="1.0" encoding="utf-8" ?>

/first.jsp

/second.jsp

位址列訪問

使用萬用字元定義的 action 是指,在配置檔案中定義 action 時,其 name 中包含萬用字元*。請求 url 中提交的 action的

具體值,將作為*的真實值。而中的佔位符(佔位符,從1開始計數)將接收這個

真實值。佔位符一般出現在 method 屬性中。

示例:action**示例如上。

struts.xml**示例

<?xml version="1.0" encoding="utf-8" ?>

/first.jsp

/second.jsp

位址列訪問

動態方法呼叫

jsp檔案 1 actionmethod dmi 動態方法呼叫 action執行的時候並不一定要執行execute方法,1 可以在配置檔案中配置action的時候用method 來指定執行哪個方法 user useradd 新增使用者 2 也可以在url位址中動態指定 動態方法呼叫dmi 推薦 us...

動態方法呼叫

如果action中存在多個方法時,我們可以使用 方法名呼叫指定方法。如下 public class helloworldaction public string other throws exception 假設訪問上面action的url路徑為 struts test helloworld.act...

DMI 動態方法呼叫

1.使用action中預設呼叫的方法是execute 如果想指定呼叫某個方法可以使用action中的method屬性 user add success.jsp user add success.jsp package com.zchen.struts2.user.action import com....