1.首先呢session的key-value都是存在server的,瀏覽器HTML頁面是沒有辦法直接取得session中的值,只有在html里能通過js拿到j(luò)esessionid之類的東西。
1.1、數(shù)據(jù)量如果小,可以考慮放到cookie里,傳到客戶端,html里用js就可以拿到。
1.2、如果數(shù)據(jù)量大,可以考慮單獨(dú)做一個(gè)jsp或servlet,根據(jù)傳來的session的key,返回序列化的session的值,比如json之類的。html里用js通過ajax獲取。這種方式復(fù)雜了點(diǎn),多一次遠(yuǎn)程訪問,但是靈活方便。
如:<input type="text" value='<%#Session["username"]%>'>
2.或者得通過后臺(tái)才能獲取,session是存在服務(wù)器端的,如果你用cookie的話,可以通過js獲取。
問題描述:session中保存著UserInfo對(duì)象,成功登錄后,在html中顯示“歡迎xxx”
解決方法:通過ajax,json獲取UserInfo數(shù)據(jù),再顯示
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("請(qǐng)求失敗"); } }); }); </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.實(shí)體: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中的值.
總結(jié)
到此這篇關(guān)于在html頁面中取得session中的值的方法的文章就介紹到這了,更多相關(guān)html頁面取得session值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
標(biāo)簽:永州 青島 漯河 新疆 西藏 池州 遼源 棗莊
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在html頁面中取得session中的值的方法》,本文關(guān)鍵詞 在,html,頁面,中,取得,session,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。