Struts2_萬用字元對映
阿新 • • 發佈:2018-12-09
一個 Web
應用可能有成百上千個 action
宣告. 可以利用 struts
提供的萬用字元對映機制把多個彼此相似的對映關係簡化為一個對映關係
萬用字元對映規則
- 若找到多個匹配, 沒有萬用字元的那個將勝出
- 若指定的動作不存在,
Struts
將會嘗試把這個URI
與任何一個包含著萬用字元*
的動作名及進行匹配
<a href="useraction-save">save</a>
<a href="useraction-update">update</a>
<a href="useraction-delete" >delete</a>
<a href="useraction-query">query</a>
package bao;
public class nidaye {
public String useraction_save() {
System.out.println("save");
return "save-success";
}
public String useraction_update() {
System.out.println("update");
return "update-success";
}
public String useraction_delete() {
System.out.println("delete");
return "delete-success";
}
public String useraction_query() {
System.out.println("query");
return "query-success";
}
}
- 被萬用字元匹配到的
URI
字串的子串可以用{1}, {2}
來引用.{1}
*
,{2}
匹配第二個*
<action name="*-*" class="bao.nidaye"
method="{1}_{2}">
<result name="{2}-success">/success.jsp</result>
</action>
{0}
匹配整個URI
- 若
Struts
找到的帶有萬用字元的匹配不止一個, 則按先後順序進行匹配 *
可以匹配零個或多個字元, 但不包括/
字元. 如果想把/
字元包括在內, 需要使用**
. 如果需要對某個字元進行轉義, 需要使用\
.