在一个项目中action特别多,如果把这些全部配置到一个struts.xml中,会导致文件特别大
java类
package cn.hb.si;
import javax.servlet.http.HttpServletRequest;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport{
private HttpServletRequest request;
public String add(){
return "add";
}
public String update(){
return "update";
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("执行Action");
//返回string 可以理解为视图的路径
return SUCCESS;
}
}
struts.xm配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
<!-- 引入其他的配置文件 可以添加多个,也可以添加包名-->
<include file="hello.xml"></include>
<!-- 配置编码方式 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
</struts>
被引用的hello.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="*_*" method="{2}" class="cn.hb.si.{1}Action">
<result>/result.jsp</result>
<result name="add">/{2}.jsp</result>
<result name="update">/{2}.jsp</result>
</action>
</package>
</struts>
web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>