Web项目前端公共参数以及页面间参数传递总结

一.前后端信息传递,如用户登陆信息;放在session中,在前端使用Jsp获取后,其他页面直接include可直接使用。

  1、在controller层处理:将信息放到session中

HttpSession session = request.getSession();
// 查询出登陆信息
User user = userLoginService.getUser(userId, password);
// 放在session中
session.setAttribute("user",user);


2、新建一个include文件comm.inc,用来获取session中参数。代码如下:

<%@page language="java" contentType="text/html;charset=UTF-8" pageEncoding="utf-8"%>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>
<title>刘姐菜篮子后台管理系统</title>
<script type="text/javascript">
           var path = "<%=request.getContextPath()%>";
           <%
             User user_ = (User)session.getAttribute("user");
           %>
           var userId       = "<%=user_.getUserId()%>";
           var lastLoginIP  = "<%=user_.getLastLoginIP()%>";
           var lastLoginTime = "<%=user_.getLastLoginTime()%>";
           lastLoginTime = lastLoginTime.substr(0,19);
</script>

3、在需要这些参数的页面include这个文件 ,方法:<%@ include file="comm.inc" %>。注意:我在comm.inc使用了User对象,所以在引用这个文件的地方需要增加依赖(引用User这个javaBean对象的包):<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*,com.web.domain.*"%>

4、在此页面<script>脚本中可以接使用comm.inc中变量。需要注意的是:第3步<%@ include file="comm.inc" %>只能在JSP文件使用,在前端的HTML或JS中使用不了。

二、前端页面参数传递

可以在url中增加参数,在接收页面去获取,也可以将参数放在cookie中,在页面跳转后从cookie中取,下面分别说这两种方式使用。

1、放在url中,window.location.href = "main.html" + "?userId="+ userId;

在跳转页面获取方法如下;Request["custId"]直接来获取传递参数。

	//获取上一界面传值
	function GetRequest() {
	   var url = location.search; 
	   var theRequest = new Object();
	   if (url.indexOf("?") != -1) { 
	      var str = url.substr(1);
	      strs = str.split("&");
	      for(var i = 0; i < strs.length; i ++){ 	
	         theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
	      }
	   }
	   return theRequest;
	};
	var Request = new Object();	
	Request = GetRequest();

2、放在cookie中

传递页面使用 document.cookie = "user" + "=" + JSON.stringify(user);将参数放在cookie中;本例中传递的是一个JSON对象

在跳转后页面根据参数键值去获取参数,var user = JSON.parse(getCookieParams("user"));

function getCookieParams(key) {
    var obj = new Object();
    var theCookie = "" + document.cookie;
    var items  = theCookie.split("&");
    for (var i = 0; i < items.length; i++) {
        if(items[i].indexOf(key)!=-1){
            var ind = items[i].indexOf("=");
            obj = items[i].substring(ind+1);
            break;
        }
    }
    return obj;
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值