Struts2 2 動態呼叫方法

2021-07-08 09:48:04 字數 1632 閱讀 8793

先來看看struts配置檔案:

/hello.jsp

/add_input.jsp

/success.jsp

/update_input.jsp

/success.jsp

/success.jsp

這會我們加入了namespace命名空間,所以在請求位址的時候不要忘記寫上這個,然後可以看出已經沒有了method方法指定,這就要求我們在請求位址的時候需要指定乙個method引數。對了,開頭要加入支援動態方法呼叫的常量dynamicmethodinvocation為true,不然測試是無法呼叫的。

然後在我們的******action中,新增我們所配置的那些方法:

public class ******action 

public string addinput()

public string add()

public string updateinput()

public string update()

public string delete()

public string getusername()

public void setusername(string username)

public string getpassword()

public void setpassword(string password)

}

不要忘記新增username和password的get和set方法,這樣可以直接從jsp中讀取相同name的字段。

之後新建幾個簡單的頁面新增和成功的頁面。

新增的jsp頁面:

注意看這裡加入了乙個hidden的input,其中name指定為method:add,這就是用了動態呼叫方法,實際上提交後的位址為:http://localhost:8080/web/test/******.action?method:add,就會去找我們的action中的add方法,成功返回add_success就會跳轉到success.jsp頁面。

成功頁面就一句話,成功!

測試:

在位址列輸入:http://localhost:8080/web/test/******.action?method:addinput

表明我們使用動態方法低調用,呼叫了addinput方法,這樣使用是非常靈活的。

http://localhost:8080/web/test/******!addinput.action,相對應的jsp檔案就可以改為:

第三種方法是使用萬用字元帶引數的呼叫,先來看一下struts配置檔案,如果這樣配置:

那麼輸入:http://localhost:8080/web/test/******_addinput.action就會執行addinput方法。

如果這樣配置:

那麼輸入:http://localhost:8080/web/test/******_add_input.action就會執行add_input方法。

struts2 2 配置詳解

詳解struts.xml檔案 hello.jsp 檢視struts default struts default包定義了result的型別和 預設常量配置在struts2核心包下面 方式先後也是載入先後 方法1.在src下建立struts.properties檔案 將需要更改的屬性貼上到配置檔案中做...

Struts 動態呼叫方法3

一般情況下,我們是通過實現action中execute方法來實現請求處理,這樣子乙個action中就只能寫乙個方法,當我需要實現很多方法的時候寫多個action顯然是很不合理的,因此就需要使用動態呼叫來實現。也就是說通過在struts.xml檔案中通過配置action標籤的method屬性來設定即可...

Struts2動態方法呼叫

第一種 index.jsp中 struts.xml中 registaction中 通過表單中form裡action 號前面的rgistaction 去配置檔案裡找到action name registaction 然後找到對應的class new乙個例項出來最後呼叫!號後面的login方法。第二種 ...