2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法

struts.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>
	<!-- 修改常量配置文件方法二 -->
	<!-- i18n:国际化 解决post提交乱码 -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
	
	<!-- 指定反向action时的后缀名 -->
	<constant name="struts.action.extension" value="action,,"></constant>
	
	<!--
	  设置为true是包括下面的
		struts.i18n.reload = true  不需要重启服务器就能重新加载(没用)
		### - struts.configuration.xml.reload = true   struts不需要重启就能重新加载
		### - raising various debug or ignorable problems to errors
	-->
	<!-- 
		指定struts2是否以开发模式运行
			1.热加载主配置(不需要重启服务器即刻生效主配置文件struts.xml)
			2.提供更多的错误信息输出,方便开发时的额调试
			项目上线的时候记得设置为false,开发阶段设置为true
	 -->
	<constant name="struts.devMode" value="true"></constant>
	
	
	<!-- 
		package:将Action配置封装,就是可以在package中配置很多action
			name属性:给包起个名字,随便起,不能其他重复
			namespace属性:给action的访问路径定义一个命名空间
			extends属性:继承一个指定包
			abstract属性:包是否为抽象的,标识属性。表示该包不能独立运行,专门被继承
	 -->
	<package name="hello" namespace="/hello" extends="struts-default">
		<!-- 
			action属性:配置action类
				name属性:决定Action访问资源名
				class属性:action的完整类名
				method属性:指定调用action中的那个
		 -->
		<action name="HelloAction" class="com.legend.a_hello.HelloAction" method="hello">
			<!-- 
				result元素:结果配置
					name属性:标识结果处理的名称,与action中的返回值对应
					type属性:指定调用那一个result类来处理,结果默认使用转发
					标签体:填写页面的相对路径
			 -->
			<result name="success" type="dispatcher">/hello.jsp</result>
		</action>
	</package>
	
	<!-- 引入其他的struts配置文件  直接选择xml文件copy quan Name选项 -->
	<include file="com/legend/b_dynamic/struts.xml"></include>
	<include file="com/legend/c_default/struts.xml"></include>
</struts>	

struts.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>
	<!-- 
		配置动态方法调用是否开启常量
			struts.enable.DynamicMethodInvocation = false
	 -->
	<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
	
	<package name="dynamic" namespace="/dynamic" extends="struts-default">
		<!-- 动态方法调用方式2:通配符方式
			    使用{1} 取出星号通配的内容
		 -->
		<action name="Demo1Action_*" class="com.legend.b_dynamic.Demo1Action" method="{1}">
			<result name="success">/hello.jsp</result>
		</action>
		
		
		<action name="addCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="add">
			<result name="success">/hello.jsp</result>
		</action>
		<action name="saveCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="save">
			<result name="success">/hello.jsp</result>
		</action>
		<action name="deleteCustomerAction" class="com.legend.b_dynamic.Demo1Action" method="delete">
			<result name="success">/hello.jsp</result>
		</action>
	</package>
</struts>	
原文地址:https://www.cnblogs.com/qichunlin/p/10148591.html