一、Struts2的Action的开发的三种方式
1、方式1(使用最多):继承ActionSupport
注意:
如果用struts的数据校验功能,必须继承此类!
如果不使用用struts的数据校验功能,不继承此类也可以!
2、方式2:实现Action接口
3、方式3:不继承任何类,不实现任何接口
二、通配符:
1、通配符:在struts中配置信息中,可以用*与{1}优化配置。
2、举例说明:
情况一:方法的返回值相同
情况二:方法返回值不同
形式一:
<!-- 返回值不同-->
<action name="user_*" class="sram.config.UserAction4" method="{1}">
<result name="login">/index.jsp</result>
<result name="register">/index.jsp</result>
</action>
形式二:
<!--上述扩展形式-->
<action name="user_*" class="sram.config.UserAction4" method="{1}">
<result name="{1}">/{1}.jsp</result>
</action>
三、路径匹配原则(了解即可)
1、struts.xml配置:
<package name="config" namespace="/user" extends="struts-default" abstract="false">
<action name="user_*" class="sram.config.UserAction4" method="{1}">
<result name="{1}">/{1}.jsp</result>
</action>
</package>
2、访问路径:
访问路径:http://localhost:8080/struts_02/user/user_login3 ok
访问路径:http://localhost:8080/struts_02/user/a/b/user_login3 ok
访问路径:http://localhost:8080/struts_02/a/b/user/user_login3 not ok
3、分析:
http://localhost:8080/struts_02/user_login3
Localhost 找到访问哪一台机器
8080 找到Tomcat
struts_02 找到项目名称
/user/a/b 先看有没有这个名称空间。如果没找到,继续向下。找到就返回
/user/a 先看有没有这个名称空间。如果没找到,继续向下。 找到就返回
/user 先看有没有这个名称空间。如果没找到,继续向下。找到就返回
/ 默认名称空间,仍未找到,报错。找到就返回
user_login3 action的name值