
jsp页面 通过EL表达式取值。 ${sessionScope存属性名}
存数据是在后台, 比如存入 session 中: 用 requestgetSession()setAttribute("属性名","值");
你也可以存到其他隐式对象中 (request,out,pageContext,response)
jsp获取action传来的session值问题,有以下几种方法:
比如action中有个session ("sessionid","11111111");
一、用struts标签获取:<s:property value="#sessionsessionid"/>;
二、<%=requestgetSessiongetAttribute("sessionid");> session也是内置对象之一,可以直接用session,比requestgetSession方便多了,也可以写成<%=sessiongetAttribute("sessionid");>;
三、el表达式获取:${sessionScopesessionid};
如果赋值的是个bean,也是一样的,类似于${sessionScopebeanbeansth}。
在jsp上内置就有session对象,可以直接用。
例如:<%=sessiongetAttribute("hello") %>
非要通过struts2的话,就用
>jsp中可以通过session的内置方法:getAttribute("属性名");来获取某个属性。
session对象常用方法
getId():返回一个唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session联合时,或当日志信息与先前的session有关时,它被当做键名使用。
getCreationTime():返回session被创建的时间。
getLastAccessedTime():返回session最后被客户发送的时间。最小单位为毫秒(ms)。
getMaxInactiveInterval():返回总时间(秒),负值表示session永远不会超时。
getAttribute(String key):通过指定的关键字获取一个存储在session中相应的信息。例如:Integer item =(Integer) sessiongetAttribute("item")。
setAttribute(String key, Object obj):提供一个关键词和一个对象值,然后存在session当中。例如:sessionsetAttribute(“item”,itemName)。
我也遇到这个问题了,练习的时候基本上都是从action登录的,所以不存在这一问题可是逻辑上认为别人使用自己开发的程序时应该是直接从jsp页面登录,所以要解决jsp加载时获取后台数据的问题目前用到的解决办法有两个:1如果使用struts2框架的话,使用<s:action标签可以在显示jsp页面的时候运行action,并且可以在action中设置好session的值然后在jsp页面获取使用2我更倾向的一种做法是在jsp标签的<head</head中加上一行代码:<% if(sessiongetAttribute("sessionName")!=null){responsesendRedirect("actionName")} %这行代码的意思是,加载jsp页面时判断session中是否有设置好的属性,如果没有进入action进行设置,然后由action控制跳转回本页面否则的话,可以直接显示页面其实质也是从action登录
以上就是关于JSP中,如何从session中取值和存值全部的内容,包括:JSP中,如何从session中取值和存值、怎样在jsp页面获取session对象、Struts2怎么在jsp页面获取Session的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)