struts2傳遞物件

2021-07-04 17:15:28 字數 1215 閱讀 7957

發帖次數較少,大牛輕拍。。

------------------------------------------

由於最近在使用struts2,一些應用難免犯渾。進入正題。

大概流程 action(a)----------->產生物件usrr------>a.jsp----------->b.action----------->b.jsp

由於b.jsp還需使用user物件。故產生了想在a.jsp傳遞這個物件到b.action.

主流做法:

1.放在session

2.傳遞某些引數,再去資料庫查詢一遍這個物件。

3.頁面隱藏user物件中的各個屬性。

為什麼不能在a.jsp頁面直接傳遞物件到action呢?

-----------------

操刀入手:

----------

嘗試1:

在a.jsp中寫入

request.setattribute("user");

在b.action中獲取request.setattribute("user");

結果一直是null.

百思不得其解,一直以為是struts2中封裝request的某些原因,或者是***在作祟。。

後來猛然發現:是因為不是同乙個request的關係,和struts2無關。。。

因為這個request 是上次的請求物件,新的請求會重新產生request.

總結一下:

在jsp 頁面上使用settattribute是沒有用的。

即:客戶端發出請求,伺服器端相應完畢後,request即失效了。

剩下的講究基本是response.sendredirect 或者是 forward:

如果用request,要注意request的範圍僅限於同乙個request物件;

如果使用了form的"action"或者response.sendredirect("***.jsp")等調轉,

則不再是同乙個request物件,即用request.getattribute("name")將取不到值。

換成request.getrequestdispatcher("***.jsp").forward(request,response);

才能共享request中資料.

如果採用getparameter的形式,抱歉,只能支援string.

jsp頁面傳遞物件是不是就無解呢?(別告訴我json什麼的封裝物件的屬性值)。

struts2傳遞物件的那些事。。。

發帖次數較少,大牛輕拍。由於最近在使用struts2,一些應用難免犯渾。進入正題。大概流程 action a 產生物件usrr a.jsp b.action b.jsp 由於b.jsp還需使用user物件。故產生了想在a.jsp傳遞這個物件到b.action.主流做法 1.放在session 2.傳...

struts2 引數傳遞問題

struts2的引數傳遞應用3個方法。舉乙個例子,通過頁面ext的呼叫,傳遞引數的時候。action是如何得到引數的。ext.ajax.request 這個是前台ext呼叫struts2的action 後台得到引數有三種方法,一 在action中對這個些引數進行setter getter,然後在呼叫...

struts2值傳遞方法

在jsp中新增 taglib prefix s uri struts tags username br password br 或者 username value username 訪問actoncontext當中的屬性,注意一定要在屬性名前加 br modify value modify 訪問ac...