Struts2中Session的使用

2021-05-02 21:56:15 字數 977 閱讀 7599

在struts2裡,如果需要在action中使用session,可以通過下面兩種方式得到   

1.通過actioncontext class中的方法getsession得到    2

.action實現org.apache.struts2.interceptor.sessionaware介面的方式來對session進行操作

下面先看乙個採用第一種方式,在action中得到session的例子   

在這個例子中,通過actioncontext得到session,並往session裡放置乙個key為user_name,值為test user的內容。

下面是乙個實現org.apache.struts2.interceptor.sessionaware介面來對session操作的例子   

在這個例子中實現了介面sessionaware中的setsession方法。

上面兩種方式都可以得到session,能實現的功能都是一樣的。

這裡推薦通過第二種方式來使用session,原因是便於做單體測試,用第二種方式,只需要構造乙個map就可以對action

class進行單體測試了。

在乙個專案中可能會有很多action都需要用到session,如果每個action都來實現org.apache.struts2.interceptor.sessionaware這個介面,可能會顯得比較麻煩,所以建議作乙個抽象的baseaction類來實現org.apache.struts2.interceptor.sessionaware介面,以後所有的action只要繼承這個baseaction就可以了。

下面是乙個如何在jsp中使用session的例子。   

一般在專案中往往會往session裡放置乙個object,必如說user,user裡有個boolean admin和string username,如果user裡存在isadmin的方法,在jsp中可以通過if test="#session.user.admin">來判斷使用者有沒有管理許可權,通過或者來取得使用者名稱。

Struts2獲取Session方法

struts2裡面有三種方法可以獲取request,最好使用servletrequestaware介面通過ioc機制注入request物件。方法1 ioc方式 action類實現sessionaware介面,並建立乙個map物件session public class userloginaction...

struts2 中 Session的使用簡介

在struts2裡,如果需要在action中使用到session,可以使用下面兩種方式 通過actioncontext 類中的方法getsession得到 action實現org.apache.struts2.interceptor.sessionaware介面的方式來對session進行操作 下面...

struts2 跟蹤使用者狀態session

使用者登陸時,為使用者名稱設定session execute方法中用actioncontext物件訪問web應用的session actioncontext.getcontext getsession put user getusername 在jsp頁面上面 歡迎,您已經登入!從乙個action跳...