使用萬用字元配置action

2021-07-04 00:24:51 字數 2065 閱讀 7894

建立struts2wildcard

專案,此例項基本仿照前面前面第7點的例項改寫而成。為了使用萬用字元,只需要改寫配置檔案即可。此例項未使用通配時的配置檔案如下:

<

action

name="adduser"

class="com.asm.useraction"

method="adduser"

>

<

result

name="success"

>/user/adduser.jsp

result

>

action

>

<

action

name="deluser"

class="com.asm.useraction"

method="deluser"

>

<

result

name="success"

>/user/deluser.jsp

result

>

action

>

<

action

name="queryuser"

class="com.asm.useraction"

method="queryuser"

>

<

result

name="success"

>/user/queryuser.jsp

result

>

action

>

<

action

name="updateuser"

class="com.asm.useraction"

method="updateuser"

>

<

result

name="success"

>/user/updateuser.jsp

result

>

action

>

我們注釋掉上面的配置,使用萬用字元只需如下內容即可達到相同的效果:

<

action

name="*user"

class="com.asm.useraction"

method="user"

>

<

result

name="success"

>/user/user.jsp

result

>

action

>

原理:當有.../adduser.action請求時,如果不能在當前應用中找到完全相同的adduser名字的action時,萬用字元配置這時就起作用了,按通配原則,它便和上面的name="*user"相配成功,這裡不難明了*此時代指的內容是add,再來看method恰恰是引用第乙個*的內容,所以它的method此時的完整名為adduser,它剛好和com.asmuseraction中的adduser方法相對,所以它會去adduser方法,再來看下面的result配置所指代的頁面,它也用到了,所以它的完整頁面是/adduser.jsp。其實如果我們有良好的程式設計命名習慣,所有的action我們都只需要進行一次配置。舉例:規定所有的action類都用***action來命名,類中所有的crud方法都用add/del/update/query。jsp頁面也用add/del/update/query_***.jsp這樣的形式。即配置檔案可以寫成如下形式:

<

action

name="*_*"

class="com.asm.action"

method=""

>

<

result

name="success"

>.../_.jsp

result

>

action

>

.../del_user.action將訪問到user類的del方法,成功後跳到del_user.jsp頁面。補充說明是代表name中所有的*組合。

Action萬用字元 wildcard 的配置

使用萬用字元,將配置量降到最低,不過,一定要遵守 約定優於配置 的原則 1 萬用字元 星號 表示所有 表示第幾個萬用字元 例如 student 那麼代表第乙個星號 那麼代表第乙個星號 代表第二個星號 2 例項 actions extends struts default namespace acti...

struts2中Action配置之萬用字元配置

在使用struts2時,每乙個action都需要配置,每乙個action裡面的方法以及其返回到的介面都需要配置,如果乙個乙個配置,就太麻煩了,這裡我們可以約定一些命名規範,然後再struts.xml裡面使用萬用字元配置。萬用字元配置的好處 在做專案時,不可能乙個action類只處理乙個業務 因為這樣...

struts2 05 action萬用字元

實現動態訪問還可以通過萬用字元 eg success jsp 當訪問時 如果輸入 http localhost 8080 demo useradd 就會匹配到這個action。這時 就匹配為add 後面method的1的意思是第乙個星號,所以 也就是等於 method add 下面同理。即 succ...