自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WebWork配置筆記

開發(fā) 后端
本文向您介紹WebWork配置的一些知識(shí),包擴(kuò)webwork運(yùn)行流程、Ognl工作原理和chain視圖等

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

  1. 先〈result-types〉,必須有〈result-type/〉項(xiàng);       
  2. 再〈interceptors〉,必須有〈interceptor/〉項(xiàng);       
  3. 接下來是〈default-interceptor-ref   name="completeStack"〉  
  4. default-interceptor-ref〉;       
  5. 然后是〈global-results〉,必須有〈result/〉項(xiàng);       
  6. 然后〈global-exception-mappings〉,    
  7. 子項(xiàng)如〈exception-mapping result="errorPage"     
  8. exception="java.lang.Exception"/〉       
  9. ***才是〈action/〉    

***才是

  1. action name="test" 〉     
  2. 〈interceptor-ref name="exception"/ 〉     
  3. 〈interceptor-ref name="basicStack"/ 〉     
  4. 〈exception-mapping exception="com.acme.  
  5. CustomException" result="custom_error"/ 〉     
  6. 〈result name="custom_error" 〉custom_error.ftlresult 〉     
  7. 〈result name="success" type="freemarker" 〉test.ftlresult 〉     
  8. action 〉     

webwork運(yùn)行流程: 

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

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

Ognl工作原理:

OgnlValueStack stack=new OgnlValueStack();  

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

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

HttpSession是一個(gè)接口,  

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

默認(rèn)不是ajax

  1. action name="itemPersonalInput"   
  2. class="cn.com.s520.course.ItemPersonalInputAction"〉    
  3. 〈interceptor-ref name="fileUpload"〉    
  4. 〈param name="allowedTypes"〉    
  5. application/msword,image/gif,  
  6. image/jpeg,image/pjpeg,application/x-shockwave-flash     
  7. param〉    
  8. 〈param name="maximumSize">10485760param〉    
  9. interceptor-ref〉    
  10. 〈interceptor-ref name="basicStack"/〉    
  11. 〈result name="input" type="freemarker">  
  12. /course/ItemPersonalInput.ftlresult〉    
  13. 〈result name="error" type="freemarker">  
  14. course/ItemPersonalInput.ftlresult〉    
  15. 〈result name="success" type="redirect">  
  16. /itemPersonalList.actionresult〉    
  17. action〉  

private File images;

private String imagesContentType;  

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

  1. 〈result name="success" type="stream" 〉    
  2. 〈param name="contentType">image/jpegparam 〉    
  3. 〈param name="inputName">imageStreamparam 〉    
  4. 〈param name="  
  5. contentDisposition">filename="logo.png"param 〉    
  6. 〈param name="bufferSize">4096param 〉    
  7. result> 

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


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


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

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

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

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

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

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

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

chain視圖:  

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

  1. 〈result name="error" type="chain"〉     
  2. 〈param name="actionName"〉barparam〉     
  3. result〉     

不同包里

  1. 〈result name="errorPage" type="chain" 〉     
  2. 〈param name="namespace" 〉/param 〉     
  3. 〈param name="actionName" 〉barparam 〉     
  4. result 〉     

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

  1. action name="index" class="  
  2. com.opensymphony.xwork.ActionSupport"〉     
  3. 〈result name="success" type="redirect"〉  
  4. /course/courseInfoList.actionresult〉     
  5. action〉   

  1. default-interceptor-ref name="defaultStack"/〉   

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

【編輯推薦】

  1. WebWork框架原理與應(yīng)用(1)
  2. 用WebWork注冊(cè)頁面建立過程
  3. WebWork注入Servlet方法詳解
  4. WebWork中返回INPUT的原因
  5. WebWork如何實(shí)現(xiàn)文件上傳配置過程
責(zé)任編輯:冰荷 來源: javaeye
相關(guān)推薦

2009-07-14 16:08:41

WebWork學(xué)習(xí)

2009-07-14 17:34:53

Webwork配置

2009-07-09 15:55:18

WebWork配置文件

2009-07-14 17:53:11

WebWork安裝WebWork配置

2009-07-16 17:42:47

WebWork配置

2009-07-09 16:22:12

WebWork配置

2009-07-16 14:58:03

WebWork安裝WebWork配置

2009-07-10 11:02:17

WebWork參數(shù)配置

2009-07-08 09:29:58

WebWork

2009-07-14 15:52:00

WebWork文件下載

2009-07-16 16:08:30

WebWork Act

2009-07-16 16:51:56

WebWork驗(yàn)證機(jī)制

2009-07-16 16:01:54

WebWork敏捷開發(fā)

2009-07-14 14:04:36

WebWork框架

2009-07-08 10:30:57

WebWork

2009-07-08 09:55:51

WebWork下載

2009-07-08 10:11:30

WebWork

2009-07-16 16:27:26

Struts WebW

2009-07-14 17:20:31

Webwork文件上傳

2009-07-10 12:00:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)