上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。