MVC模式的回顧<br> 回顧Struts的請求處理時序圖<br> 使用超連接的技巧<br> 封裝Formbean數據時的問題<br> 防止表單重復提交<br> 使用復選框的技巧<br> 使用下拉列表框的技巧<br> 文件上傳<br> DispatchAction的應用<br> Validator框架<br> Struts請求處理過程的源碼分析與digester
OGNL是Object Graphic Navigation Language(對象圖導航語言)的縮寫,OGNL是一個開源項目,讀者可以訪問其官方站點www.ognl.org以獲得源代碼和相關資料。OGNL是一種功能強大的EL(Expression Language,表達式語言),可以通過簡單的表達式來訪問Java對象中的屬性。
Struts2以WebWork優秀的設計思想為核心,吸收了Struts 1的部分優點,建立了一個兼容WebWork和Struts 1的MVC框架,Struts 2的目標是希望可以讓原來使用Struts 1、WebWork的開發人員,都可以平穩過渡到使用Struts 2框架。
Struts2是在WebWork2基礎發展而來的。和struts1一樣, Struts2也屬于MVC框架。不過有一點大家需要注意的是:盡管Struts2和struts1在名字上的差別不是很大,但Struts2和struts1在代碼編寫風格上幾乎是不一樣的。那么既然有了struts1,為何還要推出struts2。主要是因為struts2有以下優點:<br> 1 > 在軟件設計上Struts2沒有像struts1那樣跟Servlet API和struts API有著緊密的耦合,Struts2的應用可以不依賴于Servlet API和struts API。 Struts2的這種設計屬于無侵入式設計,而Struts1卻屬于侵入式設計。<br> 2> Struts2提供了攔截器,利用攔截器可以進行AOP編程,實現如權限攔截等功能。<br> 3> Strut2提供了類型轉換器,我們可以把特殊的請求參數轉換成需要的類型。在Struts1中,如果我們要實現同樣的功能,就必須向Struts1的底層實現BeanUtil注冊類型轉換器才行。<br> 4> Struts2提供支持多種表現層技術,如:JSP、freeMarker、Velocity等<br> 5> Struts2的輸入校驗可以對指定方法進行校驗,解決了Struts1長久之痛。<br> 6> 提供了全局范圍、包范圍和Action范圍的國際化資源文件管理實現
本章講述Struts2的工作原理。讀者如果曾經學習過Struts1.x或者有過Struts1.x的開發經驗,那么千萬不要想當然地以為這一章可以跳過。實際上Struts1.x與Struts2并無我們想象的血緣關系。雖然Struts2的開發小組極力保留Struts1.x的習慣,但因為Struts2的核心設計完全改變,從思想到設計到工作流程,都有了很大的不同。Struts2是Struts社區和WebWork社區的共同成果,我們甚至可以說,Struts2是WebWork的升級版,他采用的正是WebWork的核心,所以,Struts2并不是一個不成熟的產品,相反,構建在WebWork基礎之上的Struts2是一個運行穩定、性能優異、設計成熟的WEB框架。本章主要對Struts的源代碼進行分析,因為Struts2與WebWork的關系如此密不可分,因此,讀者需要下載xwork的源代碼。
jQuery.Autocomplete是jquery的流行插件,能夠很好的實現輸入框的自動完成(autocomplete)、建議提示(input suggest)功能,支持ajax數據加載。
目前主要使用的MVC開源架構是Struts,所以這里筆者就以Struts2為例,講解下關于Struts2的文件上傳和下載的機制。
本教程對struts2的基本知識進行了一些說明,關于struts2的更多詳細內容應參看struts2的官方文檔及提供的app實例。
Struts2各配置文件詳解每學習一個框架,我們都免不了要學習一些關于的配置文件,struts2也不例外,下面我就講一下struts2中幾個主要的配置文件。
本教程對struts2的基本知識進行了一些說明,關于struts2的更多詳細內容應參看struts2的官方文檔及提供的app實例。
本文主要從概念上講解什么是struts framework,它的框架結構,組件結構,以及簡單的配置講解。對于其應用請參考后面的“struts安裝及應用”和“struts實用案例分析”。
這是?struts架構的指導。它包括一些stepbystep的小應用程序,可以讓你短時間內用struts工作。
struts框架具有組件的模塊化,靈活性和重用性的優點,同時簡化了基于MVC的web應用程序的開發。本章詳細討論struts架構。我們將看到struts是如何清晰地區分控制,事務邏輯和外觀,從而簡化了開發應用程序過程的。我們還將介紹struts提供的類如何使得開發工作更加簡單,這些類包括: <br>控制程序流程的類 <br>實現和執行程序事務邏輯的類 <br>自定義的標記庫使得創建和驗證HTML表單更加容易
第一章 struts2入門與配置<br> 第二章 struts2類型轉換<br> 第三章 struts2校驗<br> 第四章 struts2校驗框架<br> 第五章struts2攔截器<br> 第六章 struts2文件上傳與下載<br> 第七章 struts國際化<br> 第八章 struts2深入探索<br> 第九章 一些常見的錯誤
OGNL(ObjectGraphicNavigationLanguage,對象圖導航語言)是一種功能強大的EL(ExpressionLanguage,表達式語言,JSP2.0規范),Struts2的核心表達式語言,OGNL是一個開源JAVA項目,但因為使用Struts2,我們完全不需要知道OGNL到底里面是什么東東,只需要按照Struts2的規則知道如何使用就OK了!第二章已經說過(請參看第二章的OGNL結構圖),Struts2將Action中的實例壓入值棧(ValueStack,值棧,Struts2的根對象,可以把它簡單的理解為List,只不過它遵循堆棧的特點,先進后出!),session等放入ContextMap中,然后使用OGNL遍歷對象結構圖進行操作。