struts2的源碼中struts-default.xml文件有全部類型下邊解釋下:
類型 |
chain |
描述 |
用來處理Action鏈,被跳轉的action中仍能獲取上個頁面的值,如request信息。 |
使用的類 |
com.opensymphony.xwork2.ActionChainResult |
類型 |
dispatcher |
描述 |
用來轉向頁面,通常處理JSP |
使用的類 |
org.apache.struts2.dispatcher.ServletDispatcherResult |
類型 |
freemaker |
描述 |
處理FreeMarker模板 |
使用的類 |
org.apache.struts2.views.freemarker.FreemarkerResult |
類型 |
httpheader |
描述 |
控制特殊HTTP行為的結果類型 |
使用的類 |
org.apache.struts2.dispatcher.HttpHeaderResult |
類型 |
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 |
類型 |
plaintext |
描述 |
顯示原始文件內容,例如文件源代碼 |
使用的類 |
org.apache.struts3.dispatcher.PlainTextResult |
類型 |
redirect |
描述 |
重定向到一個URL ,被跳轉的頁面中丟失傳遞的信息,如request |
使用的類 |
org.apache.struts2.dispatcher.ServletRedirectResult |
類型 |
redirectAction |
描述 |
重定向到一個Action ,跳轉的頁面中丟失傳遞的信息,如request |
使用的類 |
org.apache.struts2.dispatcher.ServletActionRedirectResult |
類型 |
redirect-action |
描述 |
重定向到一個Action ,跳轉的頁面中丟失傳遞的信息,如request |
使用的類 |
org.apache.struts2.dispatcher.ServletActionRedirectResult |
例子:
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"
<struts>
<package name="venderInterface" namespace="/venderInterface" extends="cardman-default">
<action name="venderInterface_*" method="{1}" class="com.jd.card.web.action.venderInterface.VenderInterfaceAction">
<result name="list">/WEB-INF/vm/venderInterface/venderInterface_list.vm</result>
<result name="toList" type="chain">venderInterface_list</result>
<result name="toAdd">/WEB-INF/vm/venderInterface/venderInterface_add.vm</result>
<result name="toEdit">/WEB-INF/vm/venderInterface/venderInterface_edit.vm</result>
</action>
</package>
</struts>
解釋下chain 這是一個action 鏈,就是一個action 走完后,接下另一個action 走,而且會把最后一個action 的數據帶回到頁面上.
<result name="toList" type="chain">venderInterface_list</result>注意這個節點里是某個action名字
兩個action 傳遞參數(type="chain"):
第一個 action 值棧中的數據到第二個action 中會共享,不過兩個action的中成員變量名字要一致(都得有set/get方法).
另一種賦值方式:直接向值棧中放/取下面代碼:
//傳送參數用;
放: ActionContext.getContext().put("venderId",cvi.getVenderId());
取: ActionContext.getContext().getContextMap().get("key");
apache HttpServer 默認配置請求轉發是項目根路徑,如果項目中有另外路徑訪問地址:例如:webService 地址,如果不配置apache ,就訪問不到這個URL(apache 轉發請求是可配置的);