<?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>
<!-- 动态方法调用打开! -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!--
开发者模式:
开发者模式打开之后
include中:
struts.i18n.reload = true
struts.configuration.xml.reload = true
1.打开之后,就是自动加载i18n;
2.打开之后,就是自动加载配置文件;
3.更多的错误提示; -->
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- struts.action.extension=action,, aciotn或者空;一般老的java程序员喜欢把后缀改成do -->
<!-- struts.i18n.reload = true自动加载文本国际文件! -->
<!--
struts.ui.theme=xhtml
struts默认的标签,给标签默认加样式!方便快速开发! 如果自己开发前端的话,就可以设置为simple或者null!
-->
<!--
再讲讲package的作用:
package的作用是区分目录层级;不同的模块让package的虚拟目录层级不同!
/user/login:之类的配置namespace;
package声明上,不仅可以填extends,后面还可以填abstract只有两个属性:true和false
abstract之后,其中不能有具体的action实现,只能被其他的的package继承去实现功能!
-->
<package name="mzyPackage" namespace="/" extends="struts-default">
<!--
Demo01Action_add_success_index
此案例测试了动态方法调用的基础测试!简单案例使用!
其中name:是我们为action加上的一个标识,在访问时输入namespace+name值,就可以找到action了
class:action的完整类名。
method:处理的方法。
-->
<action name="*_*_*_*" class="com.mzy.servlet.{1}" method="{2}">
<result name="{3}">/WEB-INF/content/{4}.jsp</result>
<!--
result中的name:是通过method返回的一个标识符,如果在action中不配置method
默认就调用execute方法。返回值默认也是success和error!
-->
<!--
其中的type是只转到jsp的方式!
dispatcher:转发;
redirect:重定向;
redirectAction:重定向到另一个action;
stream:以流的形式放松到浏览器,用于文件下载;
chain:链,在一次请求中,从一个action到另一个action;
-->
<!-- <result name="success" type="dispatcher"></result> --> <!-- <result name="update">/update.jsp</result> -->
</action>
</package>
<!--
struts中的include配置:导入引用外部的配置!包含其他的struts.xml配置文件
协同开发,模块化开发使用。
-->
<include file="struts-namespace.xml" />
<include file="struts-servlet.xml" />
</struts>
<?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> <constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<!--
发现只要我是/a开头,后面的目录层级不管是几层/a/b/c...它都能找到我的Demo01Action,
总结它总是从第一层目录开始找的,只有第一层目录写对了,它就会一层一层往下找!这个是继承struts-default的原因!
先找/a/b/c
找不到:/a/b
找不到:/a
找不到:/
找不到:默认里面找action,谁是默认?没有写namespace的package就是默认!(namespace也不是必填的属性)
例如:
<package name="ns1" extends="struts-default">
这样就是默认的namespace 但是如果我写成了/b或者其他的开头,就会出错,找不到了! 下面的Demo02Ation同上! 补充action中的class属性也可以不配置,不配置的话,默认走默认的action(struts内部默认的action)返回默认success!
-->
<package name="ns1" namespace="/a" extends="struts-default">
<action name="Demo01Action" class="com.mzy.action.Demo01Action">
<result>/WEB-INF/namespace/demo01.jsp</result>
</action>
</package>
<package name="ns2" namespace="/b" extends="struts-default">
<action name="Demo02Action" class="com.mzy.action.Demo02Action">
<result>/WEB-INF/namespace/demo02.jsp</result>
</action>
</package>
</struts>

最新文章

  1. 转载--改变ubuntu默认编码为GBK
  2. 3.4.4 数据预留和对齐(skb_reserve, skb_push, skb_put, skb_pull)
  3. 对react的几点质疑
  4. Hadoop jobhistory历史服务器
  5. 名词解释——Ext JS4
  6. Android学习网站推荐(转)
  7. delphi 插入 HTML代码 播放器
  8. 李洪强iOS开发本人集成环信的经验总结_06_发送好友请求
  9. OpenXml操作Word的一些操作总结.无word组件生成word.
  10. 转载 Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))
  11. SQL Server 排名函数实现
  12. [POJ 2184]--Cow Exhibition(0-1背包变形)
  13. The connection to adb is down, and a severe error has occured.问题解决
  14. ps -ef |grep 输出的具体含义
  15. Delphi中建立指定大小字体和读取该字体点阵信息的函数(转)
  16. camstar --飞达上料
  17. Java经典案例之-“统计英文字母、空格、数字和其它字符的个数”
  18. naoting
  19. [WeChall] Training: Crypto - Caesar I (Crypto, Training)
  20. Xamarin Android 下拉列表

热门文章

  1. 【论文阅读】套娃之 Blog for DMP Dynamic Movement Primitives
  2. Hive——简介
  3. python + pytest基本使用方法(参数化)
  4. .NET6 preview is coming
  5. SSM中如何上传图片
  6. 零基础涂鸦智能面板SDK开发记录(一)
  7. AT指令集及其通信测试方式
  8. WPF上传图片到服务器文件夹
  9. RHCSA_DAY08
  10. postman怎么调中文