execute
方法,但是如果我们想要指定其他的方法来处理请求呢,这时我们就需要使用method
这个属性了<action name="" class="" method="">
标签中的属性,指定的是Action类中的方法名,如果不使用这属性,那么默认的值是execute
<!-- 使用method指定 SimpleAction中的login方法执行这个login.action这个URL -->
<action name="login" class="com.jsnu.struts2.controller.SimpleAction" method="login">
<result name="success">/jsp/success.jsp</result>
<result name="input">/jsp/input.jsp</result>
</action>
<default-class-ref class="">
即可,那么这个<package>包下的所有的action没有设置class的是属性的都是使用的这个默认的处理类。<action>
标签中指定了class
属性,那么会覆盖这个默认的处理类<package name="test" extends="struts-default" namespace="/">
<!-- 定义这个包下的默认处理类 -->
<default-class-ref class="com.jsnu.struts2.controller.SimpleAction"></default-class-ref>
<!-- 这个action使用的是另外一个处理类,此时的默认处理类对这个action没有作用,被覆盖掉-->
<action name="testaction"
class="com.jsnu.struts2.controller.TestAction" >
<result name="success">/jsp/success.jsp</result>
</action>
<!-- 这个action没有指定class属性,那么就会使用默认处理类的exit方法 -->
<action name="simpleAction" method="exit">
<result name="success">/jsp/success.jsp</result>
</action>
<!-- 使用method指定 SimpleAction中的login方法执行这个login.action这个URL,同样的没有指定class,使用默认处理类中的login方法 -->
<action name="login" method="login">
<result name="success">/jsp/success.jsp</result>
<result name="input">/jsp/input.jsp</result>
</action>
</package>
-如果用户输入的的URL地址在这个<package>
下,即是namespace符合,但是在其中没有相应的action的做出响应,可能是地址输错了,此时的我们需要使其跳转到error.jsp页面,给用户一个提示。那么我们这个时候就需要使用默认的action。
<package>
下的一个namespace
,那么可能是用户输错了,那么我们为了提高友好性,此时需要跳转到error.jsp页面,此时就需要一个默认的action类映射了-直接在<package>
定义即可,其中的name
属性指定的package下的已经存在的action的名称
<package name="test" extends="struts-default" namespace="/">
<!-- 指定默认的action,如果在namespace路径下的找不到指定的action来映射请求,那么就会使用package下的默认的action来做出响应
name: 指定这个package下的action的名字,相当于已经定义好的action
-->
<default-action-ref name="login"></default-action-ref>
<!-- 定义这个包下的默认处理类 -->
<default-class-ref class="com.jsnu.struts2.controller.SimpleAction"></default-class-ref>
<!-- 使用method指定 SimpleAction中的login方法执行这个login.action这个URL,同样的没有指定class,使用默认处理类中的login方法 -->
<action name="login" method="login">
<result name="success">/jsp/success.jsp</result>
<result name="input">/jsp/input.jsp</result>
</action>
</package>
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。