Struts2可以配置特定的Action用来接收用户的请求并进行处理,也可以配置默认的Action。默认的Action是当用户请求找不到对应的Action时,就可以交给默认的Action来进行处理。
配置默认Action主要是通过<default-action-ref ... />元素完成的。如下:
首先,新建一个默认的Action类DefaultAction
package com.bran.c_default;
import com.opensymphony.xwork2.ActionSupport;
//测试默认配置
public class DefaultAction extends ActionSupport{
@Override
public String execute() {
System.out.println("这是DefaultAction---------");
return "success";
}
}
接着在struts.xml文件中进行配置默认Action
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" namespace="/default"
extends="struts-default">
<!-- 如果找不到包下的action,会使用 DefaultAction作为默认action处理请求-->
<default-action-ref name="Demo2Action" />
<!-- method属性默认值:execute
result的name属性默认值:success
result的type属性默认值:dispatcher 转发
class属性默认值:com.opensymphony.xwork2.ActionSupport
-->
<action name="DefaultAction"
class="com.bran.c_default.DefaultAction">
<result>/hello.jsp</result>
</action>
</package>
</struts>
根据上面的配置,在你访问/default这个路径下的任意Action名称,只要是找不到该Action都会自动交给DefaultAction进行处理。