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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Struts2中Session的使用

發布時間:2025/3/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2中Session的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Struts2里,如果需要在Action中使用session,可以通過下面兩種方式得到 ??

1.通過ActionContext class中的方法getSession得到 ??

2.Action實現org.apache.struts2.interceptor.SessionAware接口的方式來對session進行操作 ??

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

package s2.ex.action;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class SessionTestAction extends ActionSupport {

? ? public String execute() {

? ? ? ? ActionContext actionContext = ActionContext.getContext();

? ? ? ? Map session = actionContext.getSession();

? ? ? ? session.put("USER_NAME", "Test User");

? ? ? ? return SUCCESS;

? ? }

} ??

在這個例子中,通過ActionContext得到session,并往session里放置一個key為USER_NAME,值為Test User的內容。

下面是一個實現org.apache.struts2.interceptor.SessionAware接口來對session操作的例子 ??

package s2.ex.action;

import java.util.Map;

import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport; ?

public class SessionTest1Action extends ActionSupport implements SessionAware {

? ? private Map session;

? ? public void setSession(Map session) {

? ? ? ? this.session = session;

? ? }

? ? public String execute() {

? ? ? ? this.session.put("USER_NAME", "Test User 1");

? ? ? ? return SUCCESS;

? ? }

} ??

在這個例子中實現了接口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的例子。 ??

<%@ page contentType="text/html; charset=UTF-8" %>

<%@page pageEncoding="utf-8" %>

<%@taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Session Test</title>

</head>

<body>

? ? <h1><s:property value="#session.USER_NAME"/></h1>

</body>

</html> ?

? ? 一般在項目中往往會往session里放置一個Object,必如說user,user里有個boolean admin和String userName,如果user里存在isAdmin的方法,在jsp中可以通過<s:if test="#session.user.admin">來判斷用戶有沒有管理權限,通過<s:property value="#session.user.userName">或者來取得用戶名。Struts2中Session的使用好東西!!!



url來源 :http://blog.sina.com.cn/s/blog_5f7865cc0100dfff.html

轉載于:https://blog.51cto.com/3515030/1590014

總結

以上是生活随笔為你收集整理的Struts2中Session的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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