- 論壇徽章:
- 0
|
StrutsCX是一個以Struts為基礎的XML解決方案的框架,和Struts不同,它使用XML(確切的說是XSLT)作為表現(xiàn)層,而不是像Struts那樣是以JSP作為表現(xiàn)層。
目前它的最新版本是0.9.5,這個也就意味著它還沒有完全穩(wěn)定和成熟,但是目前它所具備的一些功能已經足以滿足我們大部分的需要了。
根據(jù)其官方網站的說明,它具備如下的特性:
- 可以運行于任何Servlet引擎或者J2EE應用服務器的輕量框架。
- 實現(xiàn)簡單快速。
- 支持國際化。
- 使用純粹的XML和XSLT解決方案替換Struts的JSP和Message資源特性。
- 輸出100%符合XML, XHTML, XSL-FO, WML或者其他的格式標準。
- 錯誤驗證簡單。
- 內部使用JDOM。
- 包括FOP,支持PDF, SVG和ASCII輸出。
- 包括Struts Validator。
- 支持多種轉換。
- 支持客戶端XSLT。
- 包含范例應用(單個的WAR包)。
從其結構而言,它和Struts的不同之處在于Action執(zhí)行完畢以后的回應,Struts在Action執(zhí)行完畢之后轉向的是JSP,而StrutsCX轉向到的是它的核心類:StrutsCXServlet,該類會根據(jù)配置文件查找得到XSL文件,并且自動生成帶有XSL綁定的XML文件(內部是結合StrutsCXDocumentBuilder和StrutsCXTransformer),對于一些較新的支持XML的瀏覽器(包括IE5以上,Mozilla 1.4以上)就可以顯示結果了。
簡單說明如下:
拷貝所需的jar包(該項目依賴很多很受歡迎的開源項目的結晶,例如avolon,Castor XML,dom4j,FOP,Jakarta Commons ,Jakarta ORO ,JDOM ,Log4j ,Struts ,Xerces)
配置web.xml聲明使用StrutsCXServlet:
StrutsCXServlet
com.cappuccinonet.
strutscx.xslt.StrutsCXServlet
debug
false
2
StrutsCXServlet
/StrutsCXServlet
配置struts-config.xml使用StrutsCXPlugIn:
編寫Action,和Struts不同,我們需要在Action里面設置要綁定的XSL文件的路徑:
// pointer to the strutscx-definitions
String xslFile = "simple.xsl";
// set it to the HttpServletRequest
request.setAttribute(
StrutsCXConstants.XSL_KEY, xslFile);
以上只是一個非常簡單的介紹,由于筆者正在做的一個項目是一個重寫的項目,要求使用最新的技術,未來有可能支持WML,因此采取的解決方案就是使用XML代替JSP,而目前可以找到的就是這個框架了。
根據(jù)目前我們使用的經驗,主要問題可能還是國際化支持上的問題,因為其給出的國際化支持的方案和我們現(xiàn)在常用的基于JAVA的properties或者Resources方案不同,需要采用它定義的XML格式,因此使用不是很方便。
至于開發(fā)方面,這里需要介紹的就是我們的開發(fā)經驗,其實也沒有什么,由于剛剛開始的時候我們對其生成的XML文件的內容不是很熟悉,因此我們采用的開發(fā)步驟如下:
配置strutscx-config.xml文件,編寫Action和FormBean,以調試模式觀看其生成的XML文件的內容,依據(jù)XML內容編寫XSL,最后測試XSL文件是否正確。
需要注意的是我們要在strutscx-config.xml中將debugxml設置為on,然后我們在調用Action的時候在URL中增加debugxml=true讓其向瀏覽器輸出XML(例如http://localhost:8080/sample/hello.do?debugxml=true)
由于這個框架還非常的新,目前介紹這個框架的內容還不是很多,使用的人也可能不是很多,但是筆者相信在XML的大旗下這個框架應該是會很廣泛的應用的。
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/7225/showart_139245.html |
|