struts2 action之間傳遞參數

首先:在action類中給rquest設置一個屬性:
例如:
String catalogid = ServletActionContext.getRequest().getParameter("catalogid");
ServletActionContext.getRequest().setAttribute("catalogid", catalogid);
接着:在action配置中配置url
<action name="saveCatalog" class="bookCatalogBean" method="saveBookCatalog">
            <result name="success" type="redirect">/admin/book/loadTopCatalogs.action</result>
            <result name="add" type="redirect-action">/admin/book/addSubCatalog?id=${#request.catalogid}&amp;type=add</result>            
   </action>
這樣就可以在addSubCatalog裏面用url傳遞的參數了

在這個配置文件裏,多個參數的連接符使用了"&amp;",但XML的語法規範,應該使用"&amp;"代替"&",原理和HTML中的轉義相同,開始沒有注意,在struts分析配置文件時,總是報出這樣的錯誤:
Java代碼
The reference to entity "id" must end with the ';'
進行上面說明的替換後,就正常了

struts2 redirect-action傳遞參數問題解決方案
我想在Post被Save 成功之後,直接轉到 viewPost 頁面,該頁面顯示主貼及所有跟貼,
也就是由savePost.action 轉到 viewPost.action 並且要將主貼的postid作爲參數傳過去,配置如下:
<package name="post" namespace="/post" extends="struts-default">
        <action name="savePost" method="savePost" class="net.mengfanpp.bbs.post.web.action.PostAction" >            
            <result type="redirect-action">viewPost?postid=${postid}</result>
            <result name="input">/WEB-INF/pages/post/edit.jsp</result>          
        </action>            
        <action name="viewPost" class="net.mengfanpp.bbs.post.web.action.PostAction" method="viewPost">
            <result>/WEB-INF/pages/post/view.jsp</result>
        </action>
    </package>


Note:  紅色粗體部分 viewPost?postid=${postid}  不能寫成 viewPost.action?postid=${postid}

當有多個參數需要傳遞時,只需在各個參數添加&符號,例如

<result type="redirect-action">viewPost?postid=${postid}&postname=${postname}</result>

原文http://www.lzsxsp.com/5/56.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章