【Struts2二】struts.xml中package下的action配置项默认值

在第一部份,定义了struts.xml文件,如下所示:

 

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="/simple" namespace="/simple" extends="struts-default">
        <action name="helloworld" class="com.tom.actions.HelloWorldAction" method="executeAction">
            <result name="success">/htmls/user.jsp</result>
        </action>
    </package>
</struts>

 

其中action配置项的class属性,method属性以及result元素的name属性都可以不写,取其默认值,如下:

 

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="/simple" namespace="/simple" extends="struts-default">
        <action name="helloworld">
            <result>/htmls/user.jsp</result>
        </action>
    </package>
</struts>

 

 

不指定action的class属性

如果不指定action的class属性, 则action将取默认的Action实现类,这个类是com.opensymphony.xwork2.ActionSupport,这个是一个具体类而非抽象类

 

不指定action的method属性

如果不指定action的method属性,则默认值是execute,即等价于配置method="execute",所以,如果class和method都不指定,则表示响应的方法是ActionSupport的execute方法

 

不指定result的name属性

不指定result的name属性,则表示取默认值name=“success”,action的class,method属性不设置,result的name不设置,表示执行ActionSupport的execute方法,同时匹配返回值为“success"的forward页面地址

 

ActionSupport的execute方法实现:

 

public String execute() {
  return "success";
}

 

总结

知道默认值的取值,对于了解action配置项的含义有帮助

 

 

 

你可能感兴趣的:(struts.xml)