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

本文介绍了如何在Struts2框架中使用Session存储变量和对象,包括设置和获取Session中的值,并探讨了通过修改对象属性更新Session的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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对象的属性值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值