不赞成特?/STRONG>
Struts1.1中已l有很多构造不再赞成用。许多已l被删除了。所以在升?.2.4Ӟ请clean-compile 你的应用Qƈ且deprecation warnings 被打开。在升?.2.4之前强烈解决所有decprecated 的用法。最可能应用开发h员的用法是:(x)
虽然没有被删除也没有被标明ؓ(f)不赞成用,最好还是将ActionErrors 替换为ActionMessages 以确保正的操作?
TagUtils ?/STRONG>ModuleUtils
许多以前在org.apache.struts.utils.RequestUtils中找到的工具Ҏ(gu)如今UdCorg.apache.struts.taglibs.TagUtils 或org.apache.struts.utils.ModuleUtils包中?
GenericDataSource / GenericConnection 实现被删?/STRONG>
datasources manager 仍然支持Q但是我们自qdatasource implementationis q不被支持。很Ƣ迎你插入自qDataSource 实现Q但是我们没有资源来l护我们自己的实现。如果你的容器不支持DataSource实现Q推荐用Jakarta Commons?DBCP package?
Validator 增强
Struts Validator 如今支持ValidWhen 规则Q以便一个验证可以依赖于另一个验证?/P>
DigestingPlugIn
一个新的标准PlugIn 可以帮助你在application范围内创Z自己的对象图Qobject graphQ。这是创ZAction调用的业务对象的快捷方式。请参见最新的MailReader CZ来看如何使用DigestingPlugin?
ModuleConfigVerifier
虽然不是全新的,一个标准类Q用来验证模块配|,位于PlugIn 包。ModuleConfigVerifier 主要认Struts对象囄各中lg被蝲入。但是,开发h员可扩展此类来检查确保Struts 配置文g的内部一致性?
提供了支持Maven的项目文?/STRONG>.
新的配置DTD
推荐使用struts-config_1_2.dtd。新的DTD d了两个新的元?lt;display-name> ?<description> 到struts-config 元素中。这些元素可用于struts配置文g工具和文档生工兗在Struts 1.2.x 中,已有的Struts 配置文g可以使用两个版本的DTD 都可载入?
新的Taglib URIs
标签库的URI已经被修改已反映Struts从Jakarta Ud了Apache 的顶U项目。ؓ(f)了兼容,使用旧的URI的TLD仍然有效Q但是鼓׃用新的URI?
Struts-Chain
试验性的Q这个新?contrib" package 使用了Jakarta Sandbox中的Responsibilty package 的Chainin 来创Z个新的RequestProcessor的Breed。未来版本可能会(x)成ؓ(f)默认实现?
MappingDispatchAction
一个新的标准ActionQ将控制转发到ActionMapping 参数命名的一个方法?
Cancel handlers
DispatchAction, LookupDispatchAction, ?MappingDispatchAction Q如今提供了默认的可以覆写的cancel handler。也可以指定默认的handler name?
Session-scoped ActionMessages
现在你可以将ActionMessages 保存在session 中and have them cleaned up after the first use。现在除了Action.saveMessages() 消息保存在session中还有了另外一U选择。在消息已经被访问过一ơ之后ActionMessages.isAccessed() q回true。RequestProcessor.processCachedMessages() 查询isAccessed() 已决定是否应该将消息从session中删除?
JA Mailreader
Struts Mailreader Example 应用现在包含Japanese 资源文g?
Tiles EL
Tiles tags 如今可以通过Struts EL taglib使用ELQ后者基于JSTL?
Wildcard Mappings
现在可以在actiponMapping中用通配W。详l信息参见Struts Mailreader Example application?
Action attributes
html img tag d了Action 属性,以匹配html link tag?
Module attribute
Forward元素以及(qing)多个核心标签中新增一?module" 属性。这个属性允怽通过名称Q或者前~Q指定另一个模块来创徏模块间的直接链接。新的module 属性优于contextRelative属性,q且可以常用?SwitchAction"中?
Struts 对下列组件的依赖性发生了改变Q?
依赖? |
新的版本 |
Commons BeanUtils |
Version 1.7.0 |
Commons Digester |
Version 1.6 |
Commons Validator |
Version 1.1.4 |
Commons Collections |
removed |
Commons Lang |
removed |
在action也新增了一个方法[saveErrors(HttpSession, ActionMessages)]来将errors 保存在Session 中,q且在其W一ơ被讉K之后被自动从Session中删除。这是等同于1.2.4 中message上新增的功能?
ActionRedirect 是ActionForward 的一个子c,其设计来用于重定向请求,支持在运行时d参数?
DownloadAction 是一个提供了下蝲文g的具体细节的抽象Action?
ActionDispatcher 是一个提?EM>DispatchAction cd的行Z是不必承自DispatchAction?
DynaBean 风格的ActionFormQ它不需要其属性被定义Qƈ提供Lazy List ?EM>Lazy Map 行ؓ(f)?
配置文g(? Struts config, Validator config ?Tiles 配置文g)现在可以被保存在jars。Struts ?x)像以前一h查servlet contextQ但是如果没扑ֈQ?Struts ?x)尝试classloader L找?
Struts现在可以使用HTML Input Tags上的 errorKey, errorStyle, errorStyleClass ?errorStyleId 属性自动高亮错误字Dc(din)?
现在可以使用<html:form> tag?EM>readonly ?EM>disabled属性来止或者全部的字D只诅R?BR>N.B. readonly 属性只影响<html:text>, <html:textarea> ?<html:password> as per the HTML 4 specification?
许多HTML标签都被重构了,以便更易使用?/P>
bundle 属性被dC下列标签QButtonTag, CancelTag, CheckboxTag, FileTag, FrameTag, HiddenTag, LinkTag, MultiboxTag, PasswordTag, RadioTag, ResetTag, SelectTag, SubmitTag, TextTag, TextareaTag?
现在新增?STRONG>header, footer, prefix, suffix属性?/STRONG>
Validator 配置文g?e.g. validation.xml)?lt;msg> ?<arg> 元素?EM>bundle 属性现在随?lt;msg> ?EM>resource 属性一起得到支持?
struts-examples webapp 中添加了新的面来展C对Resource Bundle 的支持?/EM>
Struts 1.2.8 的主要改变是修正?EM>Cross Site Scripting (XSS) q?
Struts 1.0 的配|DTD 已经不赞成用,引入了新的struts-config_1_1.dtd。在Struts 1.1 中,已有的Struts 配置文g可以使用q两个版本的DTD载入?
在Struts中用了多个Apache Jarkarta commons的组Ӟ而Commonslgq不仅仅可以用来构徏Struts应用。在Struts1.1中,所使用的Commonslg已经重构来外部依赖于Jarkarta Commons目Q而不?.0中的内部版本?
下面的Commons包包括了对相应的Struts 1.0 中的cȝ替代Q?
下面q几个包现在仍然被Struts框架的各U组件用:(x)
另外Q?/STRONG>Struts 1.1 需要符合JAXP/1.1 (而不是JAXP/1.0) API的XML解析器,比如JAXP/1.1 参考实现和Xerces 1.3.1+?
如果需要从源代码开始构建StrutsQ请使用Ant 1.4 以上版本?
一个新的Commons Validatorlg被集成到Struts 1.1中,包含在新的Validator包中?
引入了一个新的JSP模板l装机制TilesQ通过标签库提供集成?
Nested taglib l定CStruts1.1中,增强了现有Struts标签的功能?
Struts1.1发布包中包括了针对Validator 和Tiles的新的示例?
CVS源代码库中新增了一个目录contribQ包含了很有用的Q但是没有集成到标准代码Z的扩展?
基本的控制器框架 [org.apache.struts.action]新增了一下特征:(x)
文g上传c[org.apache.struts.upload]新增了一下特征:(x)
工具QutilityQ类 [org.apache.struts.util]新增了以下特征:(x)
struts-bean 标签库[org.apache.struts.taglib.bean]中新增了以下特征Q?
struts-html [org.apache.struts.taglib.html]加入了如下新特征Q?
struts-logic 标签库[org.apache.struts.taglib.logic]加入了如下新特征Q?
无变化,但无赞成使用。推荐用Tiles.
基本框架(org.apache.struts.action)q行了如下修Ҏ(gu)者修正:(x)
utilities (package org.apache.struts.util)发生如下修改和修正:(x)
struts-html 标签?package org.apache.struts.taglib.html)发生了如下修改和修正Q?
Struts Documentation 应用(对应Struts |站的内?发生了如下修改:(x)
Struts MailReader Example Application 发生如下修改和修正:(x)
Struts Exercise Taglib Example Application 发生了如下修改和修正Q?
q里列出1.0?.1中新增的cd已经不赞成用的c:(x)
action
actions
taglib.html
taglib.logic
upload
util
action.Action
action.ActionServlet
taglib.html.BaseHandlerTag
action
action.Action
ActionServlet