java保存到session里,新的JSP页面怎么获取不到值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java保存到session里,新的JSP页面怎么获取不到值相关的知识,希望对你有一定的参考价值。

我想在后台JAVA 值保存SESSION 里,然后在后台打开新的print.jsp页面(不覆盖旧的页面),再在print.jsp里request.getAttribut(“value”),但是为什么是空值.
我想是不是新打开的jsp页面与原来的页面是不同的,所以新的页面里的session与旧的页面里的session是不相同的?
求大神们帮帮忙。比较急

java中设置session的值:
session.setAttribute("username",username);
session.setAttribute("password",password);
jsp中可以这么获取session的值:
username=session.getAttribute("username");
password=session.getAttribute("password");
参考技术A request.getAttribut("value")这个也不是取session啊,request与session楼主都没搞清楚啊
你的print.jsp页面是怎么打开的,重定向还是转发啊??追问

var appWindow = encodeURI(window.open('./webpage/print.jsp?'));

Extjs 打开新的页面

追答

这种方式有可能造成session丢失,建议不要再open的页面去session

参考技术B 你存到session中
不应该是
session.getAttribut(“value”)

这样吗?
request.getAttribut(“value”)当然取不到了。
参考技术C 记得是sessionScope. 来取值。 参考技术D 直接用session.getAttribut("value");

怎么在啊jsp里取出session里的内容

+ 2345234325

第一种方式:在jsp中嵌入java脚本

例如:

<%   
    session.setAttribute("msg","hello,java!"); // 下面仍然以此为例
    session.getAttribute("msg");
%>
这种方式在初学jsp时使用,后续将不再推荐使用

第二种方式:用EL表达式

$sessionScope.msg
这种方式避免了在jsp中嵌入java脚本,增强了页面的可读性,但在学习了struts2框架后,也很少使用,但比第一种方式要常用。。

第三种方式:需要使用struts2框架

<s:property value="#session.msg" />
这种方式需要学习了Struts2框架后使用,通常结合<s:debug/>标签来调试使用

参考技术A jsp获取action传来的session值问题,有以下几种方法:
比如action中有个session ("sessionid","11111111");
一、用struts标签获取:<s:property value="#session.sessionid"/>;
二、<%=request.getSession.getAttribute("sessionid");> session也是内置对象之一,可以直接用session,比request.getSession方便多了,也可以写成<%=session.getAttribute("sessionid");>;
三、el表达式获取:$sessionScope.sessionid;
如果赋值的是个bean,也是一样的,类似于$sessionScope.bean.beansth。
参考技术B <form action="Appear.jsp" method="get" name="form1">
<%
Object sessionValues=sessions.getAttribute("values1");
%>
从Session中取出值:<%=sessionValues %>
<br />
<input type="submit" name="submit" value="超链接" >
</form>

首先你要搞懂session 是什么东西,它的作用范围是什么!

Request 是在一次请求范围

Session 是在一次会话中,也就是说,你从一开始进入页面到你离开页面时,都属于一次会话当中,也就是说它的作用范围比Request要广,你在任何页面都可以用session.getAttribute("values");得到values的值!

所以若要会使用就要先知道是什么意思!本回答被提问者采纳
参考技术C <%=session.getAttribute("在这里填写session里的相应的key") %> 参考技术D 调用HttpServletRequest对象的getSession方法。
HttpSession session = request.getSession();
session.getAttribute(String name)(以键取值)

以上是关于java保存到session里,新的JSP页面怎么获取不到值的主要内容,如果未能解决你的问题,请参考以下文章

怎么在啊jsp里取出session里的内容

jsp页面之间的传值

在同一个JSP页面中,每次访问session id都在变化

怎么样将servlet中的内容输出到另外一个jsp页面中去啊?

java、jsp查询页面根据姓名模糊查询出5条数据,点其中一条数据的修改,修改完成后返回到之前5条结果页面

js里怎么取session的值