大家可能对session比较熟悉,所以下面对“html页面中获取session值有多少种方式?”这个问题进行解释。相信看完本文,您也会对本次会议的内容有所了解。会有很多的理解!
1。首先,会话的键值存储在服务器中。浏览器HTML页面中没有办法直接获取session中的值。 HTML中只能通过js获取jesessionid之类的东西。
1.1。如果数据量较小,可以考虑放在cookie中传输给客户端。您可以使用 HTML 中的 js 来获取它。
1.2.如果数据量较大,可以考虑单独制作一个jsp或者servlet,根据传递的session key返回序列化的session值,比如json。在html中使用js通过ajax获取。这种方法稍微复杂一点,需要多一次远程访问,但是灵活方便。
如:
2。或者你必须通过后台来获取它。会话存在于服务器端。如果使用cookie的话,可以通过js获取。
问题描述:Session中保存了UserInfo对象。登录成功后,HTML中显示“Welcome xxx”
解决方案:通过ajax和json获取UserInfo数据,然后显示
1.js
2。页码:
管理页面
管理员:您好,感谢您登录!
3。实体:用户信息
公共类用户信息{
私有 int UserInfoId;
私有字符串用户信息名称;
私有字符串 UserInfoPsw;
//省略get、set
4.登录操作:
public void getLoginName() {
System.out.println("getLoginUser");
HttpServletResponse 响应 = ServletActionContext.getResponse();
response.setContentType("text/plain;charset=UTF-8");
PrintWriter 输出;
尝试 {
String userName = ((UserInfo) ActionContext.getContext()
.getSession().get("用户")).getUserInfoName();
System.out.println(用户名);
输出=response.getWriter();
输出.print(用户名);
出.flush();
关闭();} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
3。使用 response.sendRedirect("a.html?param=hello");
使用以下 JS 方法
如:
var v=getUrlParameter('param');
函数 getUrlParameter( 名称 ){
名称 = 名称.替换(/[
]/,“[“)。代替(/[
]/,"\]");
var regexS = "[\?&]"+名称+"=([^]*)";
var regex = new RegExp(regexS);
var 结果 = regex.exec(window.parent.location.href );
if( 结果 == null ) 返回 "";别的 {
返回结果[1];
}
}
以上方法用于获取html页面中session中的值。
总结
通过文章中代码的讲解和分析,我们解决了“html页面中获取session值有多少种方式?”的问题,这样我们就可以更多的了解html中的内容了在W3Cschool学习和理解!