• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp中Action使用session方法实例分析

    本文实例分析了jsp中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 SessionTestActionextends 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;
        publicvoid setSession(Map session) {
            this.session = session;
        }
        public String execute() {
            this.session.put("USER_NAME","Test User 1");
            return SUCCESS;
        }
    }

    在这个例子中实现了接口SessionAware中的setSession方法。

    上面两种方式都可以得到session,能实现的功能都是一样的。

    这里推荐通过第二种方式来使用session,原因是便于做单体测试,用第二种方式,只需要构造一个Map就可以对actionclass进行单体测试了。

    在一个项目中可能会有很多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里有个booleanadmin和String userName,如果user里存在isAdmin的方法,在jsp中可以通过s:iftest="#session.user.admin">来判断用户有没有管理权限,通过s:property value="#session.user.userName">或者来取得用户名。

    希望本文所述对大家的jsp程序设计有所帮助。

    您可能感兴趣的文章:
    • jsp编程中session的用法实例分析
    • jsp获取action传来的session和session清空以及判断
    • jsp和asp.net共享session值示例代码
    • Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
    • JSP中 Session和作用域的使用
    • jsp中session过期设置及web.xml配置学习
    • jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
    • jsp中存取session值简单介绍
    上一篇:JSP实现简单的用户登录并显示出用户信息的方法
    下一篇:jsp、css中引入外部资源相对路径问题分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp中Action使用session方法实例分析 jsp,中,Action,使用,session,