如何在html页面中取得session中的值的教程?

2022-12-11 19:20:04 编辑:admin 阅读:
导读如何在html页面中取得session中的值的教程?本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下1.首先呢session的key-value都是存在server的,浏览器H

如何在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){

  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中的值.

温馨提示:需要上述业务或相关服务,请加客服QQ【582059487】或点击网站在线咨询,与我们沟通。

版权说明本站部分内容来自互联网,仅用于信息分享和传播,内容如有侵权,请联系本站删除!转载请保留金推网原文链接,并在文章开始或结尾处标注“文章来源:金推网”, 腾讯云11·11优惠券/阿里云11·11优惠券
相关阅读