溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WebWork如何配置

發(fā)布時間:2021-12-07 10:44:20 來源:億速云 閱讀:180 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)WebWork如何配置,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在標(biāo)簽方面,WebWork配置這幾個標(biāo)簽是有嚴(yán)格順序的,正確順序如下:

先〈result-types〉,必須有〈result-type/〉項;       再〈interceptors〉,必須有〈interceptor/〉項;       接下來是〈default-interceptor-ref   name="completeStack"〉  default-interceptor-ref〉;       然后是〈global-results〉,必須有〈result/〉項;       然后〈global-exception-mappings〉,    子項如〈exception-mapping result="errorPage"     exception="java.lang.Exception"/〉       ***才是〈action/〉

***才是

〈action name="test" 〉     〈interceptor-ref name="exception"/ 〉     〈interceptor-ref name="basicStack"/ 〉     〈exception-mapping exception="com.acme.  CustomException" result="custom_error"/ 〉     〈result name="custom_error" 〉custom_error.ftlresult 〉     〈result name="success" type="freemarker" 〉test.ftlresult 〉     action 〉

webwork運行流程:

默認(rèn)執(zhí)行execute()方法,該方法默認(rèn)返回SUCCESS;

〈Script language="JavaScript" src="/js/pagenumber.js" 〉  〈/Script 〉     〈script Language="JavaScript" 〉     listNumUrl("courseInfoList.action?&pageNum=" ,${pageNum},${allPageNum});     〈/script 〉

Ognl工作原理:

OgnlValueStack stack=new OgnlValueStack(); 

stack.push(new User())://首先將打算賦值的對象壓入棧中 

stack.setValue("name","erica");//為棧頂對象User指定的屬性名name賦值  

HttpSession是一個接口,  

Properties實現(xiàn)了繼承了HashTable(實現(xiàn)了Map接口),也就是說它保存的也是值-鍵對象,它的setProperty("name","value")實質(zhì)上就是保存到HashTable里了。

默認(rèn)不是ajax

〈action name="itemPersonalInput"   class="cn.com.s520.course.ItemPersonalInputAction"〉    〈interceptor-ref name="fileUpload"〉    〈param name="allowedTypes"〉    application/msword,image/gif,  image/jpeg,image/pjpeg,application/x-shockwave-flash     param〉    〈param name="maximumSize">10485760param〉    interceptor-ref〉    〈interceptor-ref name="basicStack"/〉    〈result name="input" type="freemarker">  /course/ItemPersonalInput.ftlresult〉    〈result name="error" type="freemarker">  course/ItemPersonalInput.ftlresult〉    〈result name="success" type="redirect">  /itemPersonalList.actionresult〉    action〉

private File images;

private String imagesContentType;  

private String imagesFileName;//得到不含路徑的文件名,如test.jpg

〈result name="success" type="stream" 〉    〈param name="contentType">image/jpegparam 〉    〈param name="inputName">imageStreamparam 〉    〈param name="  contentDisposition">filename="logo.png"param 〉    〈param name="bufferSize">4096param 〉    result>

1,〈param name="contentType">application/x-msdownloadparam 〉


contentType設(shè)成 application/x-msdownload 就可以。這樣瀏覽器會保證彈出一個下載文件的對話框。 


2,inputName 
這個比較重要,這個名字是輸入流的名稱, 以后要steam result的實現(xiàn)類中為根據(jù)OGNL的表達式去查找的。

contentDisposition 這個是下載之后,保存在用戶端的文件名稱。

3,另外一個參數(shù):contentLength就是下載文件的大小,webwork的stream result似乎實現(xiàn)有問題,不能根據(jù)文件的大小動態(tài)進行設(shè)置,只能寫死。

這個WebWork配置參數(shù)的意義是告訴瀏覽下載的文件有多大,以便瀏覽器正確的顯示進度條。如果這個功能很重要的話,可以重新寫一個RESULT來實現(xiàn)。

〈result>/form.jspresult>如果不指明,默認(rèn)為success     〈action name="userReg"   class="com.opensymphony.xwork.ActionSupport" 〉    〈result name="input">/app/userreg.ftlresult 〉    〈/action 〉

這里將不會出現(xiàn)預(yù)期的頁面,因為默認(rèn)為success,不會轉(zhuǎn)向我們指定的input頁面

〈result name="no-content" type="header"〉     〈param name="status"〉204param〉     〈param name="headers.customHeaderA"〉A(chǔ)param〉     〈param name="headers.customHeaderB"〉Bparam〉     result〉

chain視圖:  

同一個包里,可設(shè)置type為chain,對應(yīng)action的擴展名也可以不寫,

〈result name="error" type="chain"〉     〈param name="actionName"〉barparam〉     result〉

不同包里

〈result name="errorPage" type="chain" 〉     〈param name="namespace" 〉/param 〉     〈param name="actionName" 〉barparam 〉     result 〉

或者設(shè)置type為redirect,重定向過去

〈action name="index" class="  com.opensymphony.xwork.ActionSupport"〉     〈result name="success" type="redirect"〉  /course/courseInfoList.actionresult〉     action〉
〈default-interceptor-ref name="defaultStack"/〉

這里只是在你沒有設(shè)置攔截器時才用到,如果WebWork配置攔截器了,就不會調(diào)用這個了。

關(guān)于“WebWork如何配置”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI