随笔-23  评论-0  文章-5  trackbacks-0

在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到
1.通过ActionContext class中的方法getSession得到
2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对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("UserName", "admin");  //设置session      

             return SUCCESS;      
    }  

}

在这个例子中,通过ActionContext得到session,并往session里放置一个key为UserName,值为admin的内容。

 


二、下面是一个实现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("UserName", "admin");          
        return SUCCESS;       
    }  
}

 

下面是一个在JSP中使用session的例子:
<%@ page contentType="text/html; charset=UTF-8" %>  
<%@ page pageEncoding="utf-8" %>  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<html>  
<head>      
<title>Session Test-JAVA中文网:http://www.javaweb.cc/</title>  
</head>  
<body>  
<h1><s:property value="#session.USER_NAME"/></h1>   <h1></h1>  
</body>  
</html>

此文章经过修改,根据Java中文网
地址是:http://javaweb.cc/architecture/struts/261792.shtml

posted on 2011-10-22 10:13 ForMeBlog 阅读(1295) 评论(0)  编辑  收藏 所属分类: 框架集合

只有注册用户登录后才能发表评论。


网站导航: