本文是關於Jakarta Struts
的文章中的前半部分
文中一部分是出自Sue Spielman的書《The Struts Framework: Practical Guide for Java Programmers (Morgan
Kaufmann) / Struts框架Java程序員實用指南》
這本書是市場上全面的詳細的介紹Struts
的首批圖書
你可以通過Sue的郵箱(sspielman@sw)與他聯系
去年
Struts框架(一個Jakarta的開元項目)事實上已經變成了建立Web應用的實際標准
Struts已經證明自己是一種基於MVC模式架構的可靠的框架
能夠被用於各種系統
事實上
我是被迫要提出一個理由來解釋為什麼我和我的開發團隊要為項目花費一個開發定制MVC模式框架的周期
這有點令人無法理解
Struts v
是這個框架的最新版本
寫本文時Struts v
還是beta
版
不久就會推出最終版
要你現在開始學習使用 v
版
似乎沒什麼理由
可為什麼不呢
其實有很多理由說明我們因該使用這一版
本文一共有兩部分
在第一部分這裡
我們概括地介紹一下Jakarta通用庫的集成與多應用支持
第二部分裡將著重介紹嵌套的標記庫
插件API以及異常處理聲明
新版本對框架已經進行了一些重要的改進
並且你有可能希望用這一版本開始新的開發
事實上
我強烈建議這麼做
保持v
版的向後兼容性是Struts項目參與者永遠的目標
並且他們在v
這一版本中完成得非常好
本文最後將指出一些從v
版到v
版進行升級時需要注意的問題
本文並不是Struts的入門讀物
我們假設你已經熟悉了這一體系架構中的各個組件
如果你需要先看一看入門介紹
請看我寫的對於Struts框架的三部分介紹(l)
更新 在整個v
版本的開發中對Struts已經有了令人激動的特性和改進
我們會輪流介紹它們
但是之前我們先來看看都有哪些更新
; Jakarta通用庫的使用
例如BeanUtil與Logging
; DynaActionForms可不用編寫任何代碼創建動態的動作表單
; 多應用支持允許定義多個struts
config
xml配置文件
; 嵌套的標記庫使在JSP頁中可以很容易的訪問嵌套的對象體系
; Tiles與Validator提供了高級的模板以及表單驗證表達式
; 插件API可以增強ActionServlet的功能
; 異常處理聲明使Actions不必關心捕獲到的所有異常
下面讓我們逐個的看一看每個特性
Jakarta通用庫的集成 Struts工具包可以解決在創建Web應用時不斷出現的問題
這個包中的大部分類不依賴於控制器Servlet框架或定制的標記庫
因此它們可被用於一般的Java應用編程
在Struts
版本中
這個包中的許多類被移植到Jakarta的公共項目中
這些類包括Bean工具
Colections
以及Digester包
Struts中提供的logging實際上來自於公共項目
mons
beanutils組件封裝了Java的Reflection與Introspection應用編程接口(API)
使用beanutils包中的類
可在未知方法名編譯的情況下動態的調用getter與setter方法
這些類用Struts的定制標記庫調用
因此可以為你的應用定義附加的定制標記
你也許想要進一步了解這個包中的可用內容
表
列出了這些
表
Struts
中的通用包
BeanUtils 通過反射組裝JavaBeans屬性
ConvertUtils 將字符串值轉換為指定類的對象
MappedPropertyDescriptor 描述與映射屬性
MethodUtils 集中於大體的方法上而不是屬性等細節上
PropertyUtils 使用Java Reflection應用編程接口(API)對一般屬性進行setter(設置值)與getter(獲取值)操作
Digester包提供了基於XML文檔的規則
這麼做對讀取配置文件非常重要
便於正確的初始化對象
這個包可是你非常簡單的完成這些事否則就需要你更深入地了解DOM或SAX的處理
當XML中的模式被驗證後
這些可通過指定了規則的對象映射模塊來完成
這包括嵌入你自己模式匹配的引擎的能力
合法命名空間的處理
以及用於多應用並且封裝了規則的RuleSets
如果你明確的讀取XML文件別需要映射為適當的Java對象
Digester包是十分有用的
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28928.html