struts2的action中使用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 ;

    }

}
 
<%@ 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 >

< h1 > </ 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">或者来取得用户名。
为了您的安全,请只打开来 源可靠的网址

打开网站     取消

来自: http://hi.baidu.com/zj360202/blog/item/9ec6b54e779474c0d0c86a06.html

你可能感兴趣的:(apache,html,jsp,struts,项目管理)