背景:
1. 页面A跳转到页面B
2. A设定B参数,通过绑定的bean
3. B开启时根据绑定的bean获取参数进行查询
问题1:A如何传参数给B?
问题2:B获取参数如何自动执行查询?
1, 在A中把指定参数存放到session中
a,注意设定web.xml中的fifter不要过滤掉保存参数的session
b,在B页面绑定bean的类中通过构造函数在初始状态getSession.get对应的session值,并复制给对应的属性
c,设定一个特殊的session用作判断是否是初始化
2, 在B页面中
a,获取session中判断是否为初始化的参数,如果为空,则不执行查询,否则设定可执行查询,并在设定完后清空此session避免页面刷新后重复执行查询
以上动作代码:
1. 页面A跳转到页面B
2. A设定B参数,通过绑定的bean
3. B开启时根据绑定的bean获取参数进行查询
问题1:A如何传参数给B?
问题2:B获取参数如何自动执行查询?
1, 在A中把指定参数存放到session中
a,注意设定web.xml中的fifter不要过滤掉保存参数的session
b,在B页面绑定bean的类中通过构造函数在初始状态getSession.get对应的session值,并复制给对应的属性
c,设定一个特殊的session用作判断是否是初始化
2, 在B页面中
a,获取session中判断是否为初始化的参数,如果为空,则不执行查询,否则设定可执行查询,并在设定完后清空此session避免页面刷新后重复执行查询
以上动作代码:
A:public String login() {
message = loginService.login(customer);
if (message.equalsIgnoreCase("SUCCESSFUL")) {
General.setSession("userId", customer.getUser_id());
General.setCookie("user_id", customer.getUser_id());
General.setSession("modelId",customer.getModel());//B所需参数
General.setCookie("model_id", customer.getModel());
General.setSession("initFlag",customer.getInitFlag());//是否初始化判断
General.setCookie("init_flag",customer.getInitFlag());
}
return message;
}
B:
public YieldBean() {
workDateFrom = DateToString();
workDateTo = workDateFrom;
schemaName = (String) General.getSession("schemaName");
customerCode = (String) General.getSession("customerCode");
model = (String) General.getSession("modelId");
}
B页面:
<%
boolean firstInit = false;
if(session.getAttribute("initFlag")!=null){
firstInit = true;
session.setAttribute("initFlag",null);
}
%>
function loadFun(firstInit){
formatCss();
initQuery(firstInit);
}
function initQuery(firstInit){
var initQuery = document.getElementById('yield:initQuery');
initQuery.style.display = "none";
if(firstInit){
initQuery.click();
}
}
<body onload="loadFun(<%=firstInit%>);">