java 怎么更新session值_java – 如何更新session.setAttribute(name,value)值,其中名称相同?…「建议收藏」

java 怎么更新session值_java – 如何更新session.setAttribute(name,value)值,其中名称相同?…「建议收藏」我有一种情况,我需要更新名称保持不变的setAttribute的值.考虑以下情况作为示例–假设我有三个JSP:abc.jsp,xyz.jsp,pqr.jsp.现在首先运行abc.jsp然后控制前进到xyz.jsp&然后转发到pqr.jsp.现在执行pqr.jspt后,再次使用setAttribute中的更新值控制回xyz.jsp.abc.jsp:ArrayListgetSupplyS…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

我有一种情况,我需要更新名称保持不变的setAttribute的值.考虑以下情况作为示例 – 假设我有三个JSP:abc.jsp,xyz.jsp,pqr.jsp.现在首先运行abc.jsp然后控制前进到xyz.jsp&然后转发到pqr.jsp.现在执行pqr.jspt后,再次使用setAttribute中的更新值控制回xyz.jsp.

abc.jsp:

ArrayList getSupplyStatus=new ArrayList();

JavaBean javaBean=new JavaBean();

session=request.getSession(false);

getSupplyStatus=javaBean.getSupplyStatus(memberID); //It returns a ArrayList

if(!getSupplyStatus.isEmpty())

{

session.setAttribute(“UpdatedBooklist”, getSupplyStatus);

request.getRequestDispatcher(“xyz.jsp”).forward(request, response);

}

xyz.jsp:

session=request.getSession(false);

ArrayList getSupplyStatus=(ArrayList) session.getAttribute(“UpdatedBooklist”);

// some operations & forward to pqr.jsp

pqr.jsp:

// in this jsp new ArrayList will be prodeuced

// & I need to bound the value of “UpdatedBooklist” with

// which is set in abc.jsp,

// and previous value must be override & then forward to xyz.jsp again

// In xyz.jsp we recieve the updated value.

解决方法:

再次使用setAttribute()将replace the value并调用必要的生命周期方法.

If an object was already bound to this session of this name that implements HttpSessionBindingListener, its HttpSessionBindingListener.valueUnbound method is called.

您也可以使用removeAttribute()并再次设置具有相同名称的属性.如果通过’update’表示您希望对象更新而不是替换,则使用getAttribute()获取属性并在其上调用将改变对象的方法.

标签:java,servlets

来源: https://codeday.me/bug/20190823/1696017.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181273.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python的变量名命名规则_python的变量命名规范

    python的变量名命名规则_python的变量命名规范一.python变量名命名规则:1.变量名通常由字母,数字,下划线组成;2.数字不能作为变量名开头;3.不能以python中的关键字命名;4.变量名要有意义;5.不要用汉字和拼音去命名;6.变量名要区分大小写;7.推荐使用驼峰型(GuessAge或guessAge)和下划线(guess_age)来命名;8.常量通常使用大写来定义.二.注释代码的方法1.单行(当行)注释:用#2.多行注释通过三引号完…

    2022年5月1日
    179
  • 五角大楼仍然使用 SHA-1 证书

    五角大楼仍然使用 SHA-1 证书

    2022年3月3日
    36
  • 变量放在堆还是栈_堆和栈的共同特点

    变量放在堆还是栈_堆和栈的共同特点内容会持续更新,有错误的地方欢迎指正,谢谢!什么是栈区,什么是堆区栈区(stack):由编译器自动分配释放,存放函数的参数值、局部变量的值等,内存的分配是连续的,类似于数组,当我们声明变量时,编译器会自动接着当前栈区的结尾来分配内存。堆区(heap):由程序员分配释放,若程序员不释放,程序结束时由OS回收,内存的分配不是连续的,类似于链表。变量存放的位置C/C++程…

    2025年5月27日
    0
  • 悲观锁和乐观锁的使用[通俗易懂]

    悲观锁和乐观锁的使用[通俗易懂]1、悲观锁(PessimisticLock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。最常用的就是select..forupdate,它是一种行锁,会把select出来的结果行锁住,在本

    2022年8月23日
    3
  • Androidclient和server第一种方法端数据交换

    Androidclient和server第一种方法端数据交换

    2021年12月31日
    38
  • Windows 7专业版安装VS2005与WinCE6.0开发环境

    近期更新了自己的小黑从XP更新到WIN7专业版,我花了两天时间验证了下列软件安装在WIN7PRO是完全兼容的。1:2011年最新更新的SourceInsight3.50.0066版本,这个是支持W

    2021年12月26日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号