隨筆 - 6  文章 - 0  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(2)

          隨筆分類(lèi)

          文章分類(lèi)

          好友

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          Struts1.2.4

          新特征

          主要修改:

          不贊成特征
          Struts1.1中已經(jīng)有很多構(gòu)造不再贊成使用。許多已經(jīng)被刪除了。所以在升級(jí)到1.2.4時(shí),請(qǐng)clean-compile 你的應(yīng)用,并且使deprecation warnings 被打開(kāi)。在升級(jí)到1.2.4之前強(qiáng)烈建議解決所有decprecated 的用法。最可能應(yīng)用開(kāi)發(fā)人員的用法是:

            1. org.apache.struts.Action statics: 如今使用org.apache.struts.Global statics
            2. Action.perform: 如今使用Action.execute

          雖然沒(méi)有被刪除也沒(méi)有被標(biāo)明為不贊成使用,最好還是將ActionErrors 替換為ActionMessages 以確保正確的操作。
          TagUtils ModuleUtils
          許多以前在org.apache.struts.utils.RequestUtils中找到的工具方法如今移動(dòng)到了org.apache.struts.taglibs.TagUtils 或org.apache.struts.utils.ModuleUtils包中。
          GenericDataSource / GenericConnection 實(shí)現(xiàn)被刪除
          datasources manager 仍然支持,但是我們自己的datasource implementationis 并不被支持。很歡迎你插入自己的DataSource 實(shí)現(xiàn),但是我們沒(méi)有資源來(lái)維護(hù)我們自己的實(shí)現(xiàn)。如果你的容器不支持DataSource實(shí)現(xiàn),推薦使用Jakarta Commons的 DBCP package。
          Validator 增強(qiáng)

          1. ValidWhen

          Struts Validator 如今支持ValidWhen 規(guī)則,以便一個(gè)驗(yàn)證可以依賴于另一個(gè)驗(yàn)證。

          1. IntRange 現(xiàn)在可以檢測(cè)select-one 和radio 字段。比如:這使得我們可以使用一些有效的選項(xiàng)加上一個(gè)具有諸如"Choose one" 標(biāo)題并且值為"-1"的附加選項(xiàng)來(lái)組裝一個(gè)組合框。那么當(dāng)用戶試圖提交一個(gè)表單時(shí),你可以檢測(cè)值是否為-1,從而決定是否沒(méi)有選擇選項(xiàng)。
          2. 你現(xiàn)在可以強(qiáng)制進(jìn)行客戶端Javascript 驗(yàn)證來(lái)檢測(cè)所有約束,而不是停留在第一個(gè)錯(cuò)誤之處。方法是設(shè)置Validator PlugIn上的一個(gè)新的屬性stopOnFirstError為false。
          3. "required" 驗(yàn)證現(xiàn)在可以檢測(cè)checkboxes, radio,select-one, 和 select-multiple 字段類(lèi)型。參見(jiàn)修改后的Validator 示例來(lái)看如何使用這些新的特征。
          4. 一個(gè)標(biāo)準(zhǔn)的validateUrl 規(guī)則可以讓你能夠檢測(cè)某一個(gè)屬性是否包含一個(gè)格式正確的URL。

          DigestingPlugIn
          一個(gè)新的標(biāo)準(zhǔn)PlugIn 可以幫助你在application范圍內(nèi)創(chuàng)建你自己的對(duì)象圖(object graph)。這是創(chuàng)建供Action調(diào)用的業(yè)務(wù)對(duì)象的快捷方式。請(qǐng)參見(jiàn)最新的MailReader 示例來(lái)看如何使用DigestingPlugin。
          ModuleConfigVerifier
          雖然不是全新的,一個(gè)標(biāo)準(zhǔn)類(lèi),用來(lái)驗(yàn)證模塊配置,位于PlugIn 包。ModuleConfigVerifier 主要確認(rèn)Struts對(duì)象圖的各中組件被載入。但是,開(kāi)發(fā)人員可擴(kuò)展此類(lèi)來(lái)檢查確保Struts 配置文件的內(nèi)部一致性。
          提供了支持Maven的項(xiàng)目文件.
          新的配置DTD
          推薦使用struts-config_1_2.dtd。新的DTD 添加了兩個(gè)新的元素<display-name> 和 <description> 到struts-config 元素中。這些元素可用于struts配置文件工具和文檔產(chǎn)生工具。在Struts 1.2.x 中,已有的Struts 配置文件可以使用兩個(gè)版本的DTD 都可載入。
          新的Taglib URIs
          標(biāo)簽庫(kù)的URI已經(jīng)被修改已反映Struts從Jakarta 移到了Apache 的頂級(jí)項(xiàng)目。為了兼容,使用舊的URI的TLD仍然有效,但是鼓勵(lì)使用新的URI。
          Struts-Chain
          試驗(yàn)性的,這個(gè)新的"contrib" package 使用了Jakarta Sandbox中的Responsibilty package 的Chainin 來(lái)創(chuàng)建一個(gè)新的RequestProcessor的Breed。未來(lái)版本可能會(huì)成為默認(rèn)實(shí)現(xiàn)。.
          MappingDispatchAction
          一個(gè)新的標(biāo)準(zhǔn)Action,將控制轉(zhuǎn)發(fā)到ActionMapping 參數(shù)命名的一個(gè)方法。
          Cancel handlers
          DispatchAction, LookupDispatchAction, 和 MappingDispatchAction ,如今提供了默認(rèn)的可以覆寫(xiě)的cancel handler。也可以指定默認(rèn)的handler name。
          Session-scoped ActionMessages
          現(xiàn)在你可以將ActionMessages 保存在session 中and have them cleaned up after the first use。現(xiàn)在除了Action.saveMessages() 將消息保存在session中還有了另外一種選擇。在消息已經(jīng)被訪問(wèn)過(guò)一次之后ActionMessages.isAccessed() 返回true。RequestProcessor.processCachedMessages() 查詢isAccessed() 已決定是否應(yīng)該將消息從session中刪除。
          JA Mailreader
          Struts Mailreader Example 應(yīng)用現(xiàn)在包含Japanese 資源文件。
          Tiles EL
          Tiles tags 如今可以通過(guò)Struts EL taglib使用EL,后者基于JSTL。
          Wildcard Mappings
          現(xiàn)在可以在actiponMapping中使用通配符。詳細(xì)信息參見(jiàn)Struts Mailreader Example application。
          Action attributes
          html img tag 添加了Action 屬性,以匹配html link tag。
          Module attribute
          Forward元素以及多個(gè)核心標(biāo)簽中新增一個(gè)"module" 屬性。這個(gè)屬性允許你通過(guò)名稱(chēng)(或者前綴)指定另一個(gè)模塊來(lái)創(chuàng)建模塊間的直接鏈接。新的module 屬性優(yōu)于contextRelative屬性,并且可以常用于"SwitchAction"中。

          Struts 1.2.7

          主要修改

          依賴性

          Struts 對(duì)下列組件的依賴性發(fā)生了改變:


          依賴性

          新的版本

          Commons BeanUtils

          Version 1.7.0

          Commons Digester

          Version 1.6

          Commons Validator

          Version 1.1.4

          Commons Collections

          removed

          Commons Lang

          removed

          Core Struts

          Saving Messages in the Session

          在action也新增了一個(gè)方法[saveErrors(HttpSession, ActionMessages)]來(lái)將errors 保存在Session 中,并且在其第一次被訪問(wèn)之后被自動(dòng)從Session中刪除。這是等同于1.2.4 中message上新增的功能。

          Re-directing ActionForward

          ActionRedirect 是ActionForward 的一個(gè)子類(lèi),其設(shè)計(jì)來(lái)用于重定向請(qǐng)求,支持在運(yùn)行時(shí)添加參數(shù)。

          Download Action

          DownloadAction 是一個(gè)提供了下載文件的具體細(xì)節(jié)的抽象Action。

          Dispatch Helper

          ActionDispatcher 是一個(gè)提供DispatchAction 類(lèi)型的行為但是不必繼承自DispatchAction

          Lazy Validator Form

          DynaBean 風(fēng)格的ActionForm,它不需要其屬性被定義,并提供Lazy ListLazy Map 行為。

          jars 中的配置文件

          配置文件(如. Struts config, Validator config 和 Tiles 配置文件)現(xiàn)在可以被保存在jars。Struts 會(huì)像以前一樣檢查servlet context,但是如果沒(méi)找到, Struts 會(huì)嘗試classloader 去查找。

          Tag Library 改變

          Highlighting Errors

          Struts現(xiàn)在可以使用HTML Input Tags上的 errorKey, errorStyle, errorStyleClasserrorStyleId 屬性自動(dòng)高亮錯(cuò)誤字段。

          Readonly / Disabled Forms

          現(xiàn)在可以使用<html:form> tag的readonlydisabled屬性來(lái)禁止或者使全部的字段只讀。
          N.B. readonly 屬性只影響<html:text>, <html:textarea> 和 <html:password> as per the HTML 4 specification。

          HTML Tag Refactoring

          許多HTML標(biāo)簽都被重構(gòu)了,以便更易使用。

          1. 添加了prepareOtherAttributes() 方法- 剛好在關(guān)閉元素之前調(diào)用,提供一個(gè)地方來(lái)渲染額外的屬性。
          2. name 屬性渲染如今在prepareName() 方法中,以便更易提供定制行為。
          3. value 屬性如今在prepareValue() 方法中以便更易提供定制行為。
          4. 當(dāng)渲染一個(gè)屬性時(shí),這些標(biāo)簽現(xiàn)在使用屬性的getter 而不是直接使用實(shí)際的屬性,這意味著如果你想,比如覆蓋TextTag的 styleClass ,那么一個(gè)選擇是覆蓋getStyleClass()方法。
          5. 屬性的渲染現(xiàn)在使用一個(gè)簡(jiǎn)單的 prepareAttribute() 方法來(lái)產(chǎn)生name="attribute" 格式,使多數(shù)屬性渲染一個(gè)一行語(yǔ)句。

          Bundle Attribute

          bundle 屬性被添加到了下列標(biāo)簽:ButtonTag, CancelTag, CheckboxTag, FileTag, FrameTag, HiddenTag, LinkTag, MultiboxTag, PasswordTag, RadioTag, ResetTag, SelectTag, SubmitTag, TextTag, TextareaTag。

          ErrorTag

          現(xiàn)在新增了header, footer, prefix, suffix屬性。

          Validator

          Resource Bundle Support

          Validator 配置文件中(e.g. validation.xml)的<msg> 和 <arg> 元素的bundle 屬性現(xiàn)在隨同<msg> 的resource 屬性一起得到支持。
          struts-examples webapp 中添加了新的頁(yè)面來(lái)展示對(duì)Resource Bundle 的支持。

          Struts1.2.8

          主要改變

          Struts 1.2.8 的主要改變是修正了Cross Site Scripting (XSS) 弱點(diǎn)。

          posted on 2006-05-15 17:05 badboy 閱讀(308) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Framework
          主站蜘蛛池模板: 探索| 琼海市| 松阳县| 靖西县| 桂东县| 自贡市| 泉州市| 渝北区| 府谷县| 德清县| 宁津县| 西和县| 开原市| 莱西市| 祁阳县| 驻马店市| 通道| 尼玛县| 蒲江县| 来安县| 锦州市| 宁城县| 闽侯县| 科技| 榕江县| 肇庆市| 常熟市| 津南区| 会同县| 广宗县| 西林县| 南汇区| 开远市| 苏尼特右旗| 汪清县| 星子县| 清新县| 札达县| 嘉黎县| 镇赉县| 大田县|