日期:上面的2012年10月
1、 插入查询条件,其中一个输入框,一个按钮。HTML代码
<dw:formTablename="Query"labelValue="查询条件"dataSource="dsquery">
<dw:textInputWithLabeldataType="date"name="tjqb"labelValue="统计期别"mask="yyyy-MM"required="true"></dw:textInputWithLabel>
<dw:buttonsborder="false"name="btnsQuery"closeButton="false">
<dw:buttonname="btnQuery"value="查询"onclick="btnQueryClick()"></dw:button>
</dw:buttons>
</dw:formTable>
2、 实现统计期别默认显示当前月份的上一个月。
String ny=DateUtil.addMonthToString(DateUtil.dateToString(DateUtil.getDBDate(),),"yyyy-MM",-1);
<scripttype="text/javascript">
getObject("tjqb").setValue("<%=ny%>");
</script>
3、 显示默认之后,用户自由选择,点击查询按钮之后,日期也跟着改变。
Jsp页面把用户选择的统计期别传到controller里面去,然后再传出来。
function 里面
var tjqb = getObject("tjqb").getValue();
给controller把tjqb传递过去,方法:createPage('首页','pageMain.do?method=queryEnterPageMain&tjqb='+tjqb,true);
对应的controller里面
Stringny = para.getString("tjqb","");
vdo.put("ny", ny);
传回到jsp页面里面
String ny = (String) request.getAttribute("ny");
if("".equals(ny)||ny ==null) {
ny = DateUtil.addMonthToString(DateUtil.dateToString(DateUtil.getDBDate(),"yyyy-MM"),"yyyy-MM",-1);
}
String nf = ny.substring(0, 4);
String yf = ny.substring(5, 7);
String labelString = xzqhmc+" "+nf+"年"+yf+"月"+"社会保险基金总况";
4、 点击查询按钮,整个页面刷新。
在jsp页面里面,点击查询按钮,只需要有个刷新操作。
在刷新操作里面,获得用户选择的统计期别,
function refreshPageMain(){
//判断首页是否已经显示,显示则先关闭首页,不显示则直接打开首页
var tjqb = getObject("tjqb").getValue();
varpageid=PageHandler.currentPage.pageId;
varisMain=0; //判断首页是否已打开
for(varkey inPageHandler.pages.values){
varpageJsp=PageHandler.pages.get(key).pagePath;//查询每个已打开页面的jsp
var jsp=pageJsp.substring(pageJsp.indexOf(":")+1);//注意,这里的引号是汉字型的
if(jsp=="/pageMain.jsp"){
isMain=1;
break;
}
}
if(isMain==1){
closePage(key);//关闭已打开的首页
}
createPage('首页','pageMain.do?method=queryEnterPageMain&tjqb='+tjqb,true);
//closePage(pageid);
}
把参数tjqb传递给controller里面的enterpagemain1方法,代码没有体现。之后又传递给bpo页面的queryUsercharts1方法。这两个方法跟以前不带1的方法一样。只是queryUsercharts1方法里面的tjqb是传递过来的。
tjqb = para.getDate("tjqb");
Enterpagemain1方法改变的只是为了让日期与统计期别相一致的时候改变的。接收了一下jsp页面传过来的值。