先來看看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方法。第二種 ...