一 、工作效率
1、开发模式:
开发模式下修改Struts.xml文件,可以不用重启Web容器。
做法:struts.xml文件中有个元素constant,修改该元素的属性值:
<constant name="struts.devMode" value="true"/>
原因:struts.devMode 用来表明Struts应用程序是否处于开发模式。默认的情况是false,即:不处于开发模式。
原理:Struts 会在启动时读取struts.xml 文件,在devMode下,Struts 在处理每一个请求时都会去检查一遍这个文件的时间戳,只要这个文件的时间戳从它最后一次加载以来发生了变化,Struts就会重新加载这个文件。
注:发布时记得将开发模式关闭,否则出错。
二、基础知识
1、struts.xml 文件属性介绍:
1)package 模块名
-->出现的原因:一个大项目会有很多的模块,为了更方便的管理,出现该元素。
<package name="" namespace="" extends="">
<action/>
·····
</package>
--->name 属性必须有,namespace可有可无
用法:例如,
<package name="datamanager" extends="">
<action name="XXX"></action>
</package>
路径URI字符串:
<a href=http://localhost:8080/web/datamanager/XXX.action></a>
<package name="datamanager" namespace="/flow" extends="">
<action name="XXX"></action>
</package>
路径URI字符串:
<a href=http://localhost:8080/web/datamanager/flow/XXX.action></a>
2)include
-->出现的原因:一个大的应用程序可能有许多个包。为了让大型应用程序的struts.xml文件更易于管理,我们可以把它划分成几个较小的文件--最好是让每个小文件只包含一个包或只包含几个彼此相关的包--然后用include元素来引用那些小文件。
例:<include file="module-1.xml"/>
3)action
1、它表示一个动作。
2、动作的命名:按照惯例,给动作起名字时,应该把动词和名词结合起来。
3、如果某个动作没有与之对应的动作类,则strusts 讲给它一个默认动作类的实例:ActionSupport 类
4、动作方法的名字若没有给出,默认的是“execute"
4)result
1、告诉struts 在动作完成之后把控制权转交到哪里。
2、result有两个属性:
属性一:name,默认值:success
属性二:type, 默认值:Dispatcher