Struts2使用!動態方法呼叫無效

2021-06-26 05:54:05 字數 608 閱讀 3712

**:

在struts2的action配置中,可以使用method屬性來實現方法的動態呼叫,除此之外還有一種方式可以實現方法的動態呼叫,那就是在url中的action後跟!再跟指定的方法名,比如localhost:80/test!hello,那麼就會訪問名稱為test的action的hello方法。

但是,有的時候,不知道為什麼,使用!訪問的時候,會報異常,找不到名字為*!*的action。這是因為你在stuts的配置檔案中將struts2的!呼叫功能關閉導致的,解決方案如下:

在struts.xml檔案中新增常量, 

如圖:

通過新增常量,開啟了struts2的動態方法呼叫開關。問題解決。

為什麼struts2中會引入這個功能的開關呢,原因如下:

1 )如果使用的是 pojo action ,!動態方法呼叫可能會引起安全問題; 

2 )動態方法呼叫和從 struts 1 中引用過來的萬用字元方法有重疊;

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...