Struts 2.x权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.5.9 配置默认的Action

在某些情况下,用户请求非常简单,并不需要进行过多的处理,只是需要进行简单的转发。

提示:

对于使用Struts 2框架的应用而言,尽量不要让超链接直接链接到某个视图资源,因为这种方式增加了额外的风险。推荐将所有请求都发送给Struts 2框架,让该框架来处理用户请求,即使只是简单的超链接也如此。

对于只是简单的超链接的请求,可以通过定义name为*的Action(该Action应该放在最后定义)实现。除此之外,Struts 2还允许在容器中定义一个默认的Action,当用户请求的URL在容器中找不到对应的Action时,系统将使用默认的Action来处理用户请求。

配置默认的Action通过<default-action-ref .../>元素完成,每个<default-action-ref .../>元素配置一个默认的Action。下面的struts.xml文件配置片段配置了一个默认的Action。

<package name="lee" extends="action-default">
    ...
    <!-- 配置一个默认的Action,默认的Action为simpleViewResultAction -->
    <default-action-ref name="simpleViewResultAction">
    ...
    <!-- 通过action元素配置默认的Action -->
    <action name="simpleViewResultAction" class="lee.SimpleViewResultAction">
          <result .../>
          ...
    </action>
    ...
</package>

从上面的配置片段中可以看出,配置默认的Action只需配置<default-action-ref .../>元素即可,配置该元素时需要指定一个name属性,该name属性指向容器中另一个有效的Action,该Action将成为该package下默认的Action。