日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts2中action向action之间传数据和action向jsp传数据理解

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2中action向action之间传数据和action向jsp传数据理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,在 Action中我們經常會從這個Action跳轉到另一個Action中,這時我們就要用到redirect、redirect-action、chain,

? ? ? 其中redirect和redirect-action是重定向,相當于瀏覽器二次請求,之前的數據都會丟失,所有的參數、值棧和請求屬性都會丟失。chain是服務器轉發action,源Action的用戶請求參數、值棧、session的數據賦值給目的Action,即在目的action中可以獲得源action得到的請求參數值棧,session等數據。

?當我們想在這兩個action之間傳遞參數時: ??

? a,使用鏈接加“?”的方式如果想在請求的過程中添加參數可以像超鏈接傳值一樣在最后用"xx?xx=xx" 的形式來傳遞參數.

如:

<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?參數名=參數值</result>,

如果這里的參數值不是一個固定值可以用"${參 數值}"這種OGNL表達式的形式獲取,注意:這里的"參數值"在相應的Action中一定要提供get/set方法,否則將無法獲得參數值,當然這里也同樣可以取一個 對象的某個屬性值即:${對象名.屬性名},符合ONGL表達式訪問規則,之前寫過著方面的文章。

? ?b,使用子元素的形式。

<span style="background-color: rgb(255, 255, 255);"><action name="action1" method="" class=""><result name="success" type="chain"><param name="actionName">action2</param><param name="param1">${param1}</param><param name="param2">${param2}</param></result> </action> </span>
注意:
1. 若param1和param2是兩個變量, 那么在兩個action中都要有他們的getter和setter
2. 若param1是常量,那么在action1中只要有一個param1的getter,在action2中要有param1的getter和setter?

如果在兩個action之間直接跳轉而不用傳參數,struts.xml文件可以和上面一樣,只是沒有param標簽,還可以使用如下配置:

<action name="action1" method="" class=""><result name="success" type="redirectAction">action2.action</result> </action>
即可

2,struts2 action 向jsp頁面傳遞參數問題

? ?a,在jsp頁面可以使用ONGL表達式訪問action中的值棧等

? ?b,可以使用request.setAttribute("key","value");session.setAttribute("key","value");在相應的jsp頁面上可以使用OGNL表達式“#request.key”“#session.key”獲取值。


《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的struts2中action向action之间传数据和action向jsp传数据理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。