玩技术,Geeker
一个原创技术文章分享网站

Struts2学习之配置默认Action和处理类

配置默认Action

有的时候,由于我们的粗心大意,将用户请求发送到了一个不存在的Action,这个时候系统就会出现异常,这并不是我们希望看到的。即使用户的请求找不到对应的Action时,存在一个默认的Action可以来接管用户的请求,这是我们希望看到的。

在Struts2中,可以通过配置<default-action-ref ... />设置默认的Action。下面通过一个最简单的例子来说明:

<struts>
   <package name="lee" extends="struts-default">
        <default-action-ref name="default" />
        <action name="default" class="com.jellythink.practise.LoginAction">
            <result name="default">/default.jsp</result>
        </action>
   </package>
</struts>

配置<default-action-ref ... />时,需要指定一个name属性,该name属性指定容器中另一个有效的Action;这样的话,这个Action将成为该容器中默认的Action。

将默认Action配置在默认命名空间里就可以让该Action处理所有用户请求,因为默认命名空间的Action可以处理任何命名空间的请求

配置Action的默认处理类

在这篇《Struts2学习之Action的基本配置》文章中,说到Action的配置时,属性class是一个可选属性,如果没有指定class属性,则系统默认使用ActionSupport作为Action处理类。

有的时候,使用默认的ActionSupport作为Action处理类,也是很不错的。如果想要“标新立异”,Struts2允许我们自己配置Action的默认处理类,配置Action的默认处理类使用<default-class-ref ... />元素,配置该元素时只需指定一个class属性,该class属性指定的类就是Action的默认处理类。

我们可以打开struts2-core-2.3.24.1.jar中的struts-default.xml文件,会看到以下代码:

<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

由于我们在struts.xml中定义的package都继承了struts-default包,这也就继承了默认的处理类。我们可以按照我们的需要,自定义默认处理类。具体的用法和<default-action-ref ... />类似,可以参见<default-action-ref ... />的配置。

总结

这篇文章总结的知识点非常的简单,了解了这篇文章中的知识点,对后续阅读别人的代码都会有很大的帮助。

果冻想-一个原创技术文章分享网站。

2016年01月26日 于呼和浩特。

打赏

未经允许不得转载:果冻想 » Struts2学习之配置默认Action和处理类

分享到:更多 ()

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    支持一下

    朴人博客2年前 (2016-03-19)回复

在这里玩技术,享受技术带来的疯狂

捐赠名单关于果冻