StrutsCX是一個(gè)以Struts為基礎(chǔ)的xml解決方案的框架,和Struts不同,它使用XML(確切的說是XSLT)作為表現(xiàn)層,而不是像Struts那樣是以jsp作為表現(xiàn)層。
目前它的最新版本是0.9.5,這個(gè)也就意味著它還沒有完全穩(wěn)定和成熟,但是目前它所具備的一些功能已經(jīng)足以滿足我們大部分的需要了。
根據(jù)其官方網(wǎng)站的說明,它具備如下的特性:
從其結(jié)構(gòu)而言,它和Struts的不同之處在于Action執(zhí)行完畢以后的回應(yīng),Struts在Action執(zhí)行完畢之后轉(zhuǎn)向的是JSP,而StrutsCX轉(zhuǎn)向到的是它的核心類:StrutsCXServlet,該類會(huì)根據(jù)配置文件查找得到XSL文件,并且自動(dòng)生成帶有XSL綁定的XML文件(內(nèi)部是結(jié)合StrutsCXDocumentBuilder和StrutsCXTransformer),對(duì)于一些較新的支持XML的瀏覽器(包括IE5以上,Mozilla 1.4以上)就可以顯示結(jié)果了。
簡單說明如下:
拷貝所需的jar包(該項(xiàng)目依靠很多很受歡迎的開源項(xiàng)目的結(jié)晶,例如avolon,Castor XML,dom4j,FOP,Jakarta Commons ,Jakarta ORO ,JDOM ,Log4j ,Struts ,Xerces)
配置web.xml聲明使用StrutsCXServlet:
strutscx.xslt.StrutsCXServlet
配置struts-config.xml使用StrutsCXPlugIn:
編寫Action,和Struts不同,我們需要在Action里面設(shè)置要綁定的XSL文件的路徑:
// pointer to the strutscx-definitions
String xslFile = "simple.xsl";
// set it to the HttpServletRequest
request.setAttribute(
StrutsCXConstants.XSL_KEY, xslFile);
以上只是一個(gè)非常簡單的介紹,由于筆者正在做的一個(gè)項(xiàng)目是一個(gè)重寫的項(xiàng)目,要求使用最新的技術(shù),未來有可能支持WML,因此采取的解決方案就是使用XML代替JSP,而目前可以找到的就是這個(gè)框架了。
根據(jù)目前我們使用的經(jīng)驗(yàn),主要問題可能還是國際化支持上的問題,因?yàn)槠浣o出的國際化支持的方案和我們現(xiàn)在常用的基于java的PRoperties或者Resources方案不同,需要采用它定義的XML格式,因此使用不是很方便。
至于開發(fā)方面,這里需要介紹的就是我們的開發(fā)經(jīng)驗(yàn),其實(shí)也沒有什么,由于剛剛開始的時(shí)候我們對(duì)其生成的XML文件的內(nèi)容不是很熟悉,因此我們采用的開發(fā)步驟如下:
配置strutscx-config.xml文件,編寫Action和FormBean,以調(diào)試模式觀看其生成的XML文件的內(nèi)容,依據(jù)XML內(nèi)容編寫XSL,最后測試XSL文件是否正確。
需要注重的是我們要在strutscx-config.xml中將debugxml設(shè)置為on,然后我們?cè)谡{(diào)用Action的時(shí)候在URL中增加debugxml=true讓其向?yàn)g覽器輸出XML(例如http://localhost:8080/sample/hello.do?debugxml=true)
由于這個(gè)框架還非常的新,目前介紹這個(gè)框架的內(nèi)容還不是很多,使用的人也可能不是很多,但是筆者相信在XML的大旗下這個(gè)框架應(yīng)該是會(huì)很廣泛的應(yīng)用的。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注