您的位置:首页 > Web前端 > > 正文

html标签session什么意思(在html页面中取得session中的值的方法)

更多 时间:2021-10-18 11:42:32 类别:Web前端 浏览量:2541

html标签session什么意思

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

    总结

    到此这篇关于在html页面中取得session中的值的方法的文章就介绍到这了,更多相关html页面取得session值内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!

    您可能感兴趣