Stripes視圖框架簡介

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註冊過濾配置:


  1.      

  2. <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下的配置以下:

  1. <!-- 動態配置隱射過濾器 -->  
     <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頁面中導入標籤庫:

  1. <%@ taglib prefix="stripes"  
        uri="http://stripes.sourceforge.net/stripes.tld"%>


其支持經常使用的標籤有:radio 、form、input 等等,這個導入庫頁面引用時有相應的自動提示功能。


五、支持經常使用框架無縫集成

如Hibernate、Spring、ibatis等經常使用的框架均可以很好的兼容。

相關文章
相關標籤/搜索