在html页⾯中取得session中的值的⽅法
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) {
},
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 = Response();
response.setContentType("text/plain;charset=UTF-8");
el表达式获取session中的值PrintWriter out;
try {
String userName = ((UserInfo) Context()
.getSession().get("user")).getUserInfoName();
System.out.println(userName);
out = Writer();
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 = place(/[
]/,"\[").replace(/[
]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = (window.parent.location.href );
if( results == null ) return ""; else {
return results[1];
}
}
以上⼏种⽅法在html页⾯中取得session中的值.
总结
到此这篇关于在html页⾯中取得session中的值的⽅法的⽂章就介绍到这了,更多相关html页⾯取得session值内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。