日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

struts 2 配置通配符

發(fā)布時(shí)間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts 2 配置通配符 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

?隨著Web應(yīng)用程序的增加,所需的Action也會(huì)更多,從而導(dǎo)致大量的action映射,使用通配符可以減少action配置的數(shù)量,使一些具有類似行為的Action或者Action方法可以使用通用的樣式來(lái)配置。

??????通配符即星號(hào)(*),用于匹配0個(gè)或多個(gè)字符,在配置action時(shí),可以在action元素的name屬性中使用星號(hào)(*)來(lái)匹配任意的字符。

?????????????以下是在action映射中使用通配符:
???????????????<actionname="news*"?????????

class="org.struts2.lesson05.News{1}Action">

????????????????????<resultname="success">/WEB-INF/News/{1}.jsp</result>

????????</action>

??????我們?cè)赼ction元素的name屬性中使用了通配符(*),允許這個(gè)映射匹配所有以/news開(kāi)始的URL,例如/newsAdd,/newsEdit,/newsDelete,但是,如果請(qǐng)求的是/newsEdit/add,那么這個(gè)映射就不會(huì)被匹配。

??????在上面,有一個(gè)特殊的記號(hào){1},這是作為占位符使用的,它將被通配符所匹配的值替換,例如訪問(wèn)/newsEdit,通配符(*)匹配的部分是Edit,那么,這個(gè)值將替換{1},最終調(diào)用的類是org.struts2.lesson05.NewsEditAction,Action

???執(zhí)行成功后導(dǎo)向的結(jié)果頁(yè)面是/WEB-INF/News/Edit.jsp。

??????在action映射和action結(jié)果中,通配符匹配的值可以用記號(hào){N}來(lái)訪問(wèn),N是從1到9的數(shù)字,指出替換的是哪一個(gè)通配符匹配的值。整個(gè)請(qǐng)求URL可以用記號(hào){0}來(lái)訪問(wèn)。例如如下的action映射:
?????<actionname="*_*"class="org.struts2.lesson05.{1}Action"?

method="{2}">

????????????<result>/WEB-INF/News/{0}.jsp</result>

????????</action>

??????當(dāng)訪問(wèn)/News_delete時(shí),name屬性中的第一個(gè)”*”匹配News,第二個(gè)”*”匹配delete,class屬性中使用的記號(hào)是{1},所以被News所替換,method屬性中使用的記號(hào)是{2},于是被delete所替換。結(jié)果映射中使用的記號(hào)是{0},于是被整個(gè)URL替換,即News_delete所替換。整個(gè)替換后的結(jié)果是:當(dāng)請(qǐng)求/News_delete時(shí),框架調(diào)用NewsAction實(shí)例的delete方法對(duì)請(qǐng)求進(jìn)行處理。執(zhí)行成功后,請(qǐng)求被導(dǎo)向到/WEB-INF/News/News_delete.jsp頁(yè)面。

??????通配符方法設(shè)置的另一種常見(jiàn)方式是使用后綴通配符,即將”*”放在action名字的后面,在”*”和名字前綴之間使用一個(gè)特殊字符作為分隔,常用的特殊字符是下劃線(_),當(dāng)然也可以使用其他字符。例如:

???????????????<actionname="News_*"?

class="org.struts2.lesson05.NewsAction"method="{1}">

????????????????????<result>/WEB-INF/News/{0}.jsp</result>

????????</action>

???????當(dāng)請(qǐng)求/News_delete時(shí),調(diào)用的是NewsAction實(shí)例的delete方法,當(dāng)請(qǐng)求/News_edit的時(shí)候,調(diào)用的是NewsAction實(shí)例的edit方法。

轉(zhuǎn)載于:https://my.oschina.net/u/1014212/blog/118191

總結(jié)

以上是生活随笔為你收集整理的struts 2 配置通配符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。