- 打卡等级:初来乍到
- 打卡总天数:5
- 打卡月天数:0
- 打卡总奖励:92
- 最近打卡:2024-07-21 14:48:32
高级会员
- 积分
- 816
|
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"]%>'><br />
复制代码 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值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|