struts2動態方法呼叫

2021-08-30 20:01:29 字數 1130 閱讀 8531

struts2的動態方法呼叫有三種方式

1、第一種方式:設定method屬性

在action類中定義乙個簽名與execute方法相同、只是名字不同的方法,如定義為:

public string login() throws exception{}

然後在struts.xml檔案中加乙個元素,並設定它的method屬性。**如下(核心**):

/result.jsp

/error.jsp

清單1:struts.xml部分內容

然後在jsp中表單的action設定為loginmethod。這樣,struts2就會去呼叫loginaction中的loigin方法,而不會去呼叫execute()方法。

2、第二種方式:改變表單的action的設定內容

同第一種方式,定乙個login方法。只是不需要改變struts.xml檔案的內容。然後,在jsp頁面中,設定表單的action為loginmethod!login.action。這樣,struts2也會去呼叫login方法,而不呼叫execute方法。其中,表單action="loginmethod!login.action" 中,loginmethod為struts.xml檔案中元素的name屬性值,login.action中的login為action類中的方法名。注意:login.action的action不能少。

3、第三種方式:使用萬用字元

首先同上面兩種方式,定乙個login方法,然後在struts.xml檔案中配置如下內容:

/success.jsp

/error.jsp

清單2:struts.xml部分內容

然後在jsp頁面中,設定表單的action為loginaction,此處login為action類中的方法名,這樣struts.xml中的*action就可以和loginaction模糊匹配了,然後,method=""就相當於method="login"。這樣一來就回到了第一種方式。

另外,這種方式甚至結果型別對應的物理檢視都可以用萬用字元。例如,如果想讓登入失敗後返回登入頁,可以設定/.jsp。這樣,此處的也會被*號實際的內容替代,此處為login,所以就**回login.jsp頁面了。

對於以上三種方式,盡量使用第

一、第二種方式,感覺第三種方式是比較靈活,但是也容易產生混亂,且容易出錯。

Struts2動態方法呼叫

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

Struts2動態方法呼叫

動態方法呼叫 在struts2中動態方法呼叫有三種方式,動態方法呼叫就是為了解決乙個action對應多個請求的處理,以免action太多 第一種方式 指定method屬性 這種方式我們前面已經用到過,類似下面的配置就可以實現 redirect web inf jsppage chapter2 pla...

Struts2動態方法呼叫

動態方法呼叫 在struts2中動態方法呼叫有三種方式,動態方法呼叫就是為了解決乙個action對應多個請求的處理,以免action太多 第一種方式 指定method屬性 這種方式我們前面已經用到過,類似下面的配置就可以實現 redirect web inf jsppage chapter2 pla...