欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在html页面中取得session中的值的方法

程序员文章站 2022-03-15 14:49:07
在html页面中取得session中的值的方法这篇文章主要介绍了在html页面中取得session中的值的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 20-08-11...

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值内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!