result的類型


dispatcher     
    用來轉向JSP頁面,這是默認的結果類型,如果在action配置中沒有配置其他的結果類型,它就會被使用   
    org.apache.struts2.dispatcher.ServletDispatcherResult  

freemaker   
      處理FreeMarker模板   
      org.apache.struts2.views.freemarker.FreemarkerResult  

httpheader   
      控制特殊HTTP行爲的結果類型     
     org.apache.struts2.dispatcher.HttpHeaderResult  

redirect   
      重定向到一個URL     
      org.apache.struts2.dispatcher.ServletRedirectResult  

redirectAction   
    重定向到一個Action   
    org.apache.struts2.dispatcher.ServletActionRedirectResult  

stream   
      向瀏覽器發送InputSream對象,通常用來處理文件下載,還可用於返回AJAX數據   
     org.apache.struts2.dispatcher.StreamResult  

velocity   
      處理Velocity模板   
     org.apache.struts2.dispatcher.VelocityResult  

xslt   
     處理XML/XLST模板   
     org.apache.struts2.views.xslt.XSLTResult  

plainText   
      顯示原始文件內容,例如文件源代碼   
    org.apache.struts2.dispatcher.PlainTextResult  

redirect-action   
      重定向到一個Action   
     org.apache.struts2.dispatcher.ServletActionRedirectResult  

plaintext   
     顯示原始文件內容,例如文件源代碼   
     org.apache.struts2.dispatcher.PlainTextResult

注:redirect與redirect-action區別

一、使用redirect需要後綴名 使用redirect-action不需要後綴名

二、type="redirect" 的值可以轉到其它命名空間下的action,而redirect-action只能轉到同一命名空下的 action,因此它可以省略.action的後綴直接寫action的名稱。

如:

<result name="success" type="redirect">viewTask.action</result>

<result name="success" type="redirect-action">viewTask</result>

附:redirect-action 傳遞參數

 

Xml代碼

 

  1. <action name="enterpreinfo" class="preinfoBusinessAction"     method="enterPreinfoSub">  
  2.    <result name="success" type="redirect-action">  
  3.       showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}   
  4.    </result>  
  5. <result name="error" type="redirect">  
  6.      <param name="location">/error.jsp</param>  
  7. </result>  
  8. </action>  

 

因爲使用了redirect-action,所以要注意不能將showpreinf?preinfo.order_number=${preinfo.order_number}寫成showpreinf.action?preinfo.order_number=${preinfo.order_number}

其中${}爲EL表達式,獲取action:enterpreinfo中屬性的值;在這個配置文件裏,多個參數的連接符使用了"&amp;",但XML的語法規範,應該使用"&amp;"代替"&",原理和HTML中的轉義相同.

redirect配置例子

<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete ">
<result name= "success " type= "redirect-action ">
<param name= "actionName "> list </param>
<param name= "pageBean.pageNumber "> ${pageBean.pageNumber} </param>
</result>
</action>

或者

<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete ">
<result type= "redirect "> list.action?pageBean.pageNumber=${pageBean.pageNumber} </result>
</action>

發佈了32 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章