1.Ajax集成
struts2集成了对Ajax处理的支持,只需要对resulttype做处如下配置
<action name="text-result" class="actions.TextResult">
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>
并且struts有多个开源ajax框架的plugins例如Dojo,YUI等。
2.Dependency Injection
Dependency Injection是目前几乎所有开发所必须要添加的容器,IOC容器能无缝的在应用系统中把接口与实现联系起来,是的系统中的大部分组件都依赖接口而不是依赖于具体的实现,以提高系统的可维护性。
struts2有自己的IOC容器的实现,该实现于Google guice类似,另外struts2还可以通过插件的方式支持spring,guice等其他IOC容器。
3.Profiling(系统运行监视)
struts2可以通过配置虚拟机参数支持监视功能。
通过在tomcat的CATALINA_OPTS中添加
-Dxwork.profile.activate=true
还能结合log4j把系统监视所得的数据以不同的形式输出。
4.Debugging
通过修改struts配置中的struts.devMode = true 打开struts的调试模式,并且通过页面上的在action后加入debug=xml或者debug=console来显示显示系统运行中的各个对象的调试信息。
5.Development Mode
<constant name="struts.devMode" value="true" />
打开该配置后系统会
每个请求都会重新载入resouce bundles-->可以通过struts.i18n.reload = true 单独实现。
每个请求都会重新载入struts.xml配置文件-->可以通过struts.configuration.xml.reload = true单独实现。
会使得某些debug或者可以忽略的问题抛出异常。
由于以上特点,打开该开关会严重影响系统性能,所以在实际生产环境中不要忘记可关闭该开关。