struts2学习dem003_通配符映射

来源:互联网 发布:中山大学停止网络教育 编辑:程序博客网 时间:2024/05/19 18:10
在struts2中
 * 指0-N(零到n个字符)不包括“/”
** 指0-N 包括"/"


事例:写一个计算器


CacuAction.java代码
public class CacuAction extends ActionSupport{
public String add() throws Exception{
return SUCCESS;

public String sub() throws Exception{
return SUCCESS;
}
public String div() throws Exception{
return SUCCESS;
}
public String mul() throws Exception{
return SUCCESS;
}
}


struts.xml代码
<!--通常情况:-->
<action name="addCacu" class="com.along.action.CacuAction" method="add">
    <result name="success">/addCacuSuc.jsp</result>
    </action>  
    <action name="subCacu" class="com.along.action.CacuAction" method="sub">
    <result name="success">/subCacuSuc.jsp</result>
    </action> <action name="divCacu" class="com.along.action.CacuAction" method="div">
    <result name="success">/divCacuSuc.jsp</result>
    </action> <action name="mulCacu" class="com.along.action.CacuAction" method="mul">
    <result name="success">/mulCacuSuc.jsp</result>
    </action>


<!--现在我们改用通配符*可以简化-->
<action name="*Cacu" class="com.along.action.CacuAction" method=“{1}">
    <result name="success">/{1}CacuSuc.jsp</result>
 </action>
/*{1}指的是*表示的内容,如下面jsp页面中href中addCacu的add*/


当然这里还可以这样写
<action name=" *_* " class="com.along.action.{2}Action" method=“{1}">
    <result name="success">/{1}{2}Suc.jsp</result>
 </action>
/*这里第一个*为类中方法名,第二个*为类名
jsp页面<a href="add_Cacu">加法</a>
这时返回到jsp起名应该是addCacuSuc.jsp*/



或者
<action name=" *_* " class="com.along.action.{2}Action" method=“{1}">
    <result name="success">/{0}Suc.jsp</result>
 </action>


/*这里的{0}指的就是*_*即name的全名,  这时返回到jsp起名应该是add_CacuSuc.jsp*/




jsp页面:
<a href="addCacu">加法</a>
........
.......
原创粉丝点击