struts2中,session 存放对象或变量,以及取值

来源:互联网 发布:python np.empty 编辑:程序博客网 时间:2024/05/20 09:43

struts2中,session 存放对象或变量,以及取值

====================
本篇文章主要是介绍,我近期在Jsp与struts2中,学习session的一些心得。
Ps:个人推荐储存对象,因为比较……好玩!
Ps:学得比较粗糙。。


存变量值:

在action文件创建session并储存两个变量,即当方法触发时>顺便>执行代码>创建!

这里就储存了两个变量在session里了,键值NAME值admin,键值PWD值123456

ActionContext actionContext = ActionContext.getContext();Map session = actionContext.getSession();             session.put("NAME","admin");session.put("PWD","123456");

ps:还有另外两种创建的方法,当个人喜欢这种。

取变量值:

用java代码:<%String name=(String)session.getAttribute("NAME");String pass=(String)session.getAttribute("PWD");%>用struts标签: <s:property value="#session.NAME" /><s:property value="#session.PWD" />用EL表达式:${session.NAME}${session.PWD}

———-

储存对象:

这里Admin类有来个属性name和pass,把admin对象储存了在session里中,name值admin,pass值123456

Admin admin=new Admin("admin","123456");ActionContext actionContext = ActionContext.getContext();Map session = actionContext.getSession();session.put("admin", admin);

取对象:

//action中:ActionContext actionContext = ActionContext.getContext();Map session = actionContext.getSession();Admin admin=(Admin)session.get("admin");//java web 中:<%Admin admin=(Admin)session.getAttribute("admin");%><!-- 没有登录 --><s:if test="#session.admin==null">    <!-- 获取admin中属性name的值 -->    <s:property value="#session.admin.name" /></s:if><!-- 登录成功 --><s:else></s:else>

ps:个人理解session储存的是对象admin的地址,所以通过改动同个对象admin的属性的值,也同样能改动session中的值。

Admin admin=new Admin("admin","123456");session.put("admin", admin);admin.setName("newadmin");System.out.println(((Admin)session.get("admin")).getAName());//输出:newadmin//在jsp页面中,同样可以set对象的属性值。
原创粉丝点击