天天看點

Struts2中action擷取request、response、session的方式

之前用慣struts1.x,那些request啊session之類都是方法自帶有的,我們直接調用就可以;而平時公司項目中用到有struts2.x的話,action所繼承的BaseAction等底層那些都是人家封裝好的,直接繼承就可以。現在自己搞個,才知道struts2的request、response、session原來都被隐藏的了,不過struts2提供有兩種方式給我們通路。

    第一種方式,非IoC(Spring中的控制反轉)方式:

    我們平常所說的session一般是HttpSession,但在struts2中被封裝成了Map類型。

    第二種方式,IoC方式:

這樣我們在寫action時直接繼承這個BaseAction,那些request、response、session之類就可以正常地用了,good。等我下午有時間反編譯一下别人封裝好的BaseAction,看看是不是這樣搞的,哈哈。

ps:

平時我們在action中要把值設進session然後在jsp頁面去的話,一般是這樣(struts2不行):

在struts2中,設進session的話則應該變成這樣了,因為session是一個map類型:

據說,如果直接到jsp頁面的話,一般推薦用request而不用session,多人單機同時操作的話保險一點,雖然一個浏覽器同一時間隻有一個session。

在jsp頁面取值的話: