1. 在Gao_struts2/WebRoot新建Admin_add_success.jsp和Admin_add_db_success.jsp
其中Admin_add_success.jsp的<body>内容为:Admin add success! <br>
Admin_add_db_success.jsp的<body>内容为:Admin add db success! <br>
2. 新建java类
package action;
importcom.opensymphony.xwork2.ActionSupport;
public class AdminAction extends ActionSupport
{
public String add()
{
returnSUCCESS;
}
}
3. 在Gao_struts2/src目录下,修改struts.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftware Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<packagename="struts"namespace="/struts"extends="struts-default">
<actionname="user*"class="action.UserAction"method="{1}">
<result>/user{1}_success.jsp</result>
</action>
<actionname="*_*"class="action.{1}Action"method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>
<actionname="*_*_*"class="action.{1}Action"method="{2}">
<result>/{1}_{2}_{3}_success.jsp</result>
</action>
</package>
</struts>
4. 运行
1) 启动tomcat
访问: http://localhost:2000/Gao_struts2/struts/Admin_add.action
页面显示:Admin add success!
2) 访问: http://localhost:2000/Gao_struts2/struts/Admin_add_db.action
页面显示:HTTP Status 500
javax.servlet.ServletException:java.lang.NoSuchMethodException: action.AdminAction.add_db()
3) 修改struts.xml,去除
<actionname="*_*"class="action.{1}Action"method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>
4) 重新部署Gao_struts2,启动tomcat后,再次访问
http://localhost:2000/Gao_struts2/struts/Admin_add_db.action
页面显示:Admin add db success!
5. 总结
1) struts.xml中:*表示所有字符、*号之间用_分隔、{数字}表示第几个*,其中分隔符可以根据需要可以改成|等。
2) struts.xml中存在多个可以匹配上的action时,按上下顺序匹配,所以以_分隔*号时在struts.xml最好只有一个,不然很容易出问题!
3) struts.xml中一定要遵守"约定优于配置"的原则,这样我们的struts.xml的配置会很简洁,代码和jsp的风格也会很一致和清晰,便于维护。
4) 通过使用struts.xml的通配符,使得struts2的核心技术拦截器的使用能够应用到项目的一些需要切面的功能中如访问action时打印进出口日 志,访问action时记录用户信息等!