0

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

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

现在我通过下面的代码在一个jsp中检索了会话属性的值。

<%
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”

谢谢, 苏拉夫

4

2 回答 2

1

这有两个可能的原因:

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

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

  1. 在后面添加一个System.out.println()右侧session.setAttribute()以查看实际放入会话的值。
  2. 创建一个过滤器,在每个请求之前和之后打印值。这将帮助您缩小修改的范围。
  3. 在执行中设置断点session.setAttribute()。设置数千个属性时可能不可行。
于 2012-09-11T13:30:03.733 回答
0

我认为你有问题=

尝试关注

  1. 在base64中转换字符串,把它放在会话中
  2. 从会话中获取字符串,将base64转换为普通

我应该工作

于 2012-09-11T13:21:56.003 回答