背景
DefaultAction也是有其应用背景的,中文名称为默认action,从名称来看,我们也可以比较好的理解,默认的意思就是如果没有其他操作,就选择规定的一个。所有默认action的意思就是,如果输入的URL和其他的action都不匹配的话,就选择这个默认action。在现实的应用就是,可能在一个网站上,乱输URL,肯定找不到对应的网页,那么就跳转到你指定的一个网页,比如说,主页。
DefaultAction
1. 分析
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="default"></default-action-ref>
<action name="default">
<result>/default.jsp</result>
</action>
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
可以发现,两个action,一个是default,一个是index,如果输了完整的URL,就是跳转到index.jsp。否则其他乱输URL的,都跳转到default.jsp。
index.jsp和default.jsp的具体代码就不写了,因为都很简单,大家看到结果就都懂了。
2. 结果
将struts.xml中下面这句代码注释
<default-action-ref name="default"></default-action-ref>
得到如下结果:
输入http://localhost:8080/Struts2_1400_DefaultAction/index
输入http://localhost:8080/Struts2_1400_DefaultAction/(乱七八糟)
之后,将注释的代码取消注释。
输入http://localhost:8080/Struts2_1400_DefaultAction/index
输入http://localhost:8080/Struts2_1400_DefaultAction/(乱七八糟)
从结果我们可以分析出,此句代码
<default-action-ref name="default"></default-action-ref>
的作用就是设置一个default action,默认action,当输入的URL地址,符合相应名称空间,但是不符合其他action的时候,这个默认action就生效,这个URL就和这个默认action匹配上了。
以上就是本小节的所有内容
若有不足之处,请不吝赐教