Stripes第一次接觸就以爲它很神奇,不由讓喜歡編碼的程序員產生好奇心。是什麼讓他作到了靈活自如的進行頁面跳轉呢?html
Stripes是一個視圖框架用於利用最新的Java技術來構建Web應用程序.它具備如下特色:java
不須要對每一action進行映射配置(ActionBeans將自動被發現,它利用註釋進行配置)、支持:action轉發、servlet請求、Rest風格請求.程序員
強大的綁定引擎用於構建複雜並脫離請求參數(request parameter)的web對象.web
易於使用並可本地化的驗證與類型轉換系統.可重複使用ActionBean做爲視圖幫助類.spring
支持一個form對應多個事件.透明的文件上傳能力.支持持續開發(好比在構思你的ActionBean以前能夠先構建與測試JSP)等.app
一、Strpes視圖控制轉發框架
Strpes主要的做用就是實現頁面與後臺數據的一個銜接。咱們用它來控制頁面的跳轉、重定向——控制視圖數據流向,方便用戶數據展現。ide
這幅圖片還不足以說明問題,確切的說應該是下面這幅圖表達的意思:佈局
在這裏Stripes的做用至關於一組Servlet的處理集合,或者說是Controller層。測試
二、ActionBeans過濾(將*ActionBean類映射到上下文)
ActionBeans過濾主要是將實現了Stripes的ActionBean接口的實現類加載到應用程序上下文中,下面是Action包的web.xml註冊過濾配置:
<filter> <display-name>Stripes Filter</display-name> <filter-name>StripesFilter</filter-name> <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class> <init-param> <param-name>ActionResolver.Packages</param-name> <param-value>com.boonya.stripes.actions</param-value> </init-param> <init-param> <param-name>Interceptor.Classes</param-name> <param-value> net.sourceforge.stripes.integration.spring.SpringInterceptor </param-value> </init-param> </filter> <filter-mapping> <filter-name>StripesFilter</filter-name> <servlet-name>StripesDispatcher</servlet-name> <dispatcher>REQUEST</dispatcher> </filter-mapping> <servlet> <servlet-name>StripesDispatcher</servlet-name> <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>StripesDispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
注:在<filter> <ini-param> 下的參數ActionResolver.Packages 設置的值( param-value),將其配置爲你的action類所在的位置,如:com.boonya.stripes.actions。
三、Stripes支持動態路徑映射
Stripes提供了一個名爲:net.sourceforge.stripes.controller.DynamicMappingFilter
的動態過濾器類來實現URL的動態配置,此配置既適用於Servlet又實用與Rest風格的請求,Rest動態風格有支持變參如:"/home/{username}/{password}"。參考:http://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/DynamicMappingFilter.html ,其在web.xml下的配置以下:
<!-- 動態配置隱射過濾器 --> <filter> <description>Dynamically maps URLs to ActionBeans.</description> <display-name>Stripes Dynamic Mapping Filter</display-name> <filter-name>DynamicMappingFilter</filter-name> <filter-class> net.sourceforge.stripes.controller.DynamicMappingFilter </filter-class> <init-param> <param-name>ActionResolver.Packages</param-name> <param-value>com.boonya.stripes.actions</param-value> </init-param> </filter> <filter-mapping> <filter-name>DynamicMappingFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping>
注:在<filter> <ini-param> 下的參數ActionResolver.Packages 設置的值( param-value),將其配置爲你的action類所在的位置,如:com.boonya.stripes.actions。
四、Stripes提供JSP使用的標籤庫,支持網頁佈局
在JSP頁面中導入標籤庫:
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld"%>
其支持經常使用的標籤有:radio 、form、input 等等,這個導入庫頁面引用時有相應的自動提示功能。
五、支持經常使用框架無縫集成
如Hibernate、Spring、ibatis等經常使用的框架均可以很好的兼容。