HTML页面如何获取session值,有哪一些方式
Admin 2022-07-02 群英技术资讯 1407 次浏览
1.首先呢session的key-value都是存在server的,浏览器HTML页面是没有办法直接取得session中的值,只有在html里能通过js拿到jesessionid之类的东西。
1.1、数据量如果小,可以考虑放到cookie里,传到客户端,html里用js就可以拿到。
1.2、如果数据量大,可以考虑单独做一个jsp或servlet,根据传来的session的key,返回序列化的session的值,比如json之类的。html里用js通过ajax获取。这种方式复杂了点,多一次远程访问,但是灵活方便。
如:<input type="text" value='<%#Session["username"]%>'>
2.或者得通过后台才能获取,session是存在服务器端的,如果你用cookie的话,可以通过js获取。
问题描述:session中保存着UserInfo对象,成功登录后,在html中显示“欢迎xxx”
解决方法:通过ajax,json获取UserInfo数据,再显示
1.js
<script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function() { $.ajax({ type : "get", url : "login!getLoginName.action", dataType : "text", success : function(result) { document.getElementsByTagName('b')[0].innerHTML=result; }, error : function() { alert("請求失敗"); } }); }); </script>
2.页面
<html> <head> <title>管理页面</title> </head> <body> <table> <tr> <td width="74%" height="38" class="admin_txt">管理员:<b></b>您好,感谢登陆使用!</td> </tr> </table> </body> </html>
3.实体:UserInfo
public class UserInfo { private int UserInfoId; private String userInfoName; private String UserInfoPsw; //省略get,set
4.LoginAction中:
public void getLoginName() { System.out.println("getLoginUser"); HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/plain;charset=UTF-8"); PrintWriter out; try { String userName = ((UserInfo) ActionContext.getContext() .getSession().get("user")).getUserInfoName(); System.out.println(userName); out = response.getWriter(); out.print(userName); out.flush(); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
3.用response.sendRedirect("a.html?param=hello");
用下面的JS方法
如:
var v=getUrlParameter('param'); function getUrlParameter( name ){ name = name.replace(/[ ]/,"\[").replace(/[ ]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec(window.parent.location.href ); if( results == null ) return ""; else { return results[1]; } }
以上几种方法在html页面中取得session中的值.
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家介绍的是css中width和height属性的相关内容,对于width和height属性的使用还是比较容易理解,本文主要介绍css中width和height属性的默认值auto与%使用及要注意的问题,接下来我们一起了解看看。
在css中,可用border属性做直角梯形,语法为“元素{border:0px solid transparent;border-top:梯形高度 solid 颜色;border-left:梯形长度 solid transparent}”。
CSS代码:input{font-size:14px;font-weight:bold;}input[type=range]:before{content:attr(min);padding-right:5px;}input[type=range]:after{content:attr(max);padding-left:5px;}output{
方法:1、给div元素添加“display:flex”样式,设置div元素为弹性布局样式;2、给div元素添加“align-items:center;justify-content:center”样式,设置div内按钮元素水平垂直居中即可。
这篇文章主要介绍了AmazeUI 评论列表的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008