iNeo

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            30 Posts :: 8 Stories :: 2 Comments :: 0 Trackbacks

          Struts1.2.4

          新特征

          主要修改:

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

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

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

          1. ValidWhen

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

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

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

          Struts 1.2.7

          主要修改

          依賴性

          Struts 對下列組件的依賴性發(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也新增了一個方法[saveErrors(HttpSession, ActionMessages)]來將errors 保存在Session 中,并且在其第一次被訪問之后被自動從Session中刪除。這是等同于1.2.4 中message上新增的功能。

          Re-directing ActionForward

          ActionRedirect 是ActionForward 的一個子類,其設(shè)計來用于重定向請求,支持在運行時添加參數(shù)。

          Download Action

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

          Dispatch Helper

          ActionDispatcher 是一個提供DispatchAction 類型的行為但是不必繼承自DispatchAction

          Lazy Validator Form

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

          jars 中的配置文件

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

          Tag Library 改變

          Highlighting Errors

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

          Readonly / Disabled Forms

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

          HTML Tag Refactoring

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

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

          Bundle Attribute

          bundle 屬性被添加到了下列標簽: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 中添加了新的頁面來展示對Resource Bundle 的支持。

          Struts1.2.8

          主要改變

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

          posted on 2005-12-30 08:12 只牽這只狗 閱讀(336) 評論(0)  編輯  收藏 所屬分類: Structs

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 婺源县| 汉中市| 陈巴尔虎旗| 无为县| 肃南| 黄大仙区| 邻水| 齐齐哈尔市| 吴堡县| 理塘县| 河源市| 陕西省| 清涧县| 茌平县| 章丘市| 怀安县| 龙门县| 昆山市| 浠水县| 堆龙德庆县| 肥乡县| 清原| 安乡县| 洛浦县| 泸溪县| 岚皋县| 泰和县| 紫金县| 阿瓦提县| 安陆市| 平乐县| 大荔县| 富宁县| 崇信县| 屯门区| 甘肃省| 泸溪县| 云和县| 志丹县| 黔江区| 乌兰察布市|