这篇文章给大家分享的是有关在html页面中如何取得session中的值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
首先呢session的key-value都是存在server的,浏览器HTML页面是没有办法直接取得session中的值,只有在html里能通过js拿到jesessionid之类的东西。
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数据,再显示
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>
页面
<html><head><title>管理页面</title></head><body> <table> <tr> <td width="74%" height="38" class="admin_txt">管理员:<b></b>您好,感谢登陆使用!</td> </tr> </table></body></html>
实体:UserInfo
public class UserInfo { private int UserInfoId; private String userInfoName; private String UserInfoPsw; //省略get,set
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(); } }
用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有什么特点
1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。 3、平台无关性:超级文本标记语言能够在广泛的平台上使用,这也是万维网盛行的一个原因。4、通用性:HTML是网络的通用语言,它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
感谢各位的阅读!关于“在html页面中如何取得session中的值”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!