繁体   English   中英

session.getAttribute没有返回正确的值

[英]session.getAttribute not returning the correct value

在我的一个应用程序中,我在一个会话中设置了一个变量(字符串)。 详细代码在我的servlet之一中。

HttpSession session = request.getSession();
String val1 = "http://abc.gmail.com/pp/hello.do?supplierId=894";
session.setAttribute("val1", val1);

现在,我通过以下代码在一个jsp中检索了session属性的值。

<%
String val1 = (String) session.getAttribute("val1");
System.out.println("The value is-->>"+val1);
%>

但它仅打印“ http://abc.gmail.com/pp/hello.do?supplierId”

您能帮我解决此错误吗? 我期望o / p为“ http://abc.gmail.com/pp/hello.do?supplierId=894”

谢谢,Sourav

可能有两个原因:

  1. 在代码的其他地方,该值被覆盖
  2. 发布示例时,您剥离了太多代码。

要找出哪个是哪个,您可以:

  1. session.setAttribute()之后添加System.out.println() ,以查看实际放入会话中的值。
  2. 创建一个过滤器,在每个请求之前和之后打印该值。 这将帮助您缩小修改范围。
  3. session.setAttribute()的实现中设置一个断点。 当设置了数千个属性时,可能不可行。

我认为您在使用=时遇到问题

尝试跟随

  1. 将字符串转换为base64,并将其放入会话中
  2. 从会话获取字符串,将base64转换为normal

我应该工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM