问题:在使用ECside分页框架的过程中,我们在EC列表页面点击某一行记录,进入该行记录的详细信息页面,此时我们在返回时却又只能返回到第一页,不能返回原来所在的第二页。其中还有原来我们设置好的每页显示多少行,也变回原来的默认值了,排序方式也变成默认的了。
解决方案:在明细页面点击返回时,需要带上几个参数,并且这些参数要用hidden来存储,ECside框架会用request.getParameter()方法来取值。
主要参数如下:
<input type="hidden" name="ec_i" value="StrategyListTable"/>ec_i存储的是EC列表的tableId,该tableId为StrategyListTable
<input type="hidden" name="StrategyListTable_crd" value="20"/>StrategyListTable_crd存储的是每页显示多少行,该参数名是由tableId+"_crd"组成
<input type="hidden" name="StrategyListTable_p" value="1"/>StrategyListTable_p存储的是当前是第几页,该参数名是由tableId+"_p"组成
<input type="hidden" name="StrategyListTable_s_strategyName" value="asc"/>StrategyListTable_s_strategyName存储的是用户选择的排序字段和方式,该参数名是由tableId+"_s_"+排序字段 组成,它的value值为asc和desc可选,表示排序方式。
参考实现:在我的参与的项目开发过程中,我们的系统采用Struts+Spring+Hibernate,所有的action都继承自BaseAction,我们直接在这个基类中取出这些参数,再将其传入明细页面,在明细页面只用拷贝几行固定的代码,在返回提交表单的时候,顺便提交一下这些参数就OK了。
BaseAction中的代码:
String ec_i="";
ec_i=req.getParameter("ec_i");
if(ec_i!=null&&!ec_i.equals("")){//存在EC显示属性
String cp=req.getParameter(ec_i+"_p");//取出当前第几页
String crd=req.getParameter(ec_i+"_crd");//取出每页多少行
String sort=req.getParameter("sort");//取出排序方式
String sortProp=req.getParameter("sortProp");//取出排序字段
//判断前台是否有排序信息,如果前台没有排序,则这两个属性都是null
if(sort!=null&&!sort.equals("")&&sortProp!=null&&!sortProp.equals("")){
log.info("原页面取到的排序属性为:"+sortProp+"方式为:"+sort);
req.setAttribute("ECSort", sort);
req.setAttribute("ECSortProp",sortProp);
}
log.info("原页面提交的列表名称为:"+ec_i+" 当前是第 "+cp+" 页,每页显示 "+crd+" 行");
req.setAttribute("ECI", ec_i);
req.setAttribute("ECTable_p", cp);
req.setAttribute("ECTable_crd", crd);
}
明细页面的固定代码:
<input type="hidden" name="ec_i" value="<c:out value='${ECI}'/>"/>
<input type="hidden" name="${ECI}_crd" value="<c:out value='${ECTable_crd}'/>"/>
<input type="hidden" name="${ECI}_p" value="<c:out value='${ECTable_p}'/>"/>
<input type="hidden" name="<c:out value='${ECSortProp}'/>" value="<c:out value='${ECSort}'/>"/>
<input type="hidden" name="sort" value="<c:out value='${ECSort}'/>"/>
<input type="hidden" name="sortProp" value="<c:out value='${ECSortProp}'/>"/>
备注:在项目开发过程中,会有这种情况:从第一个EC列表中点击某行记录进入明细页面,而在这个明细页面中,还有EC列表,在这种情况下,以上这些参数就会重复出现,但ECside框架只会取出其中一个,这时候要注意,在明细页面返回上一个EC列表的时候,要提交上一个EC列表的参数。
分享到:
相关推荐
如何在asp.net页面下输入订单明细!
给出了工程制图中标题栏和明细栏的国家标准(GB10609.1-89)
httpwatch 查看WEB页面加载项以及响应时间的工具
这个对于画cad图的ggmm们肯定有用,特别市机械专业的 那没得说了
vue+echarts收支明细手机页面,黑色实用的用户消费收支明细,当月/当日消费明细手机页面模板下载。
CATIA工程图标题栏和明细表插件详解.doc
NULL 博文链接:https://cupid1984.iteye.com/blog/1492285
GB 标题栏及明细表图块 机械CAD 常用文件
// "#"表示本文档 "明细页面"表示sheet页名称 "A10"表示第几列第几行 hyperlink.setAddress("#明细页面!A10"); likeCell.setHyperlink(hyperlink); // 点击进行跳转 likeCell.setCellValue("1"); /* ...
计算机明细查看器 能够通过此软件看到电脑全部的详细信息
AutoLISP实现CAD图纸标题栏明细栏物流编码自动填充(代码开放) 主要功能: 1.实现读取EXCEL数据作为物理数据源/数据库; 2.实现CAD块的属性获取; 3.实现EXCEL多工作表零件图号查询; 4.实现标题栏物理编码自动填充...
点击“查看订单明细”时,先按订单号查订单,存储订单数据。然后将请求转发到订单明细查询,根据订单号查订单明细,存储明细信息,最后转到订单明细页面展示。架构和大致流程如下: @Controller @RequestMapping("/...
在对系统⻚页⾯面进⾏行行相关操作时请及时备份,因版本差异较⼤大,可能⽅方法已经不不再适⽤用; 在参考这些⽅方式⽅方法之前请确认最新标准产品是否已经⽀支持; 在对数据库进⾏行行操作建议最好先在测试环境测试后再...
关于NC57核对存货明细账中库存期初数量与存货期初数量不一致问题分析及处理案例 633的话看文档,库存流水
Rxjava Retrofit MVP AOP 类似支付宝微信账单明细列表
079-订单列表页面打开订单明细页面并传递参数.avi 080-根据订单号查询订单明细数据接口开发.avi 081-订单明细部分前后端联调.avi 082-下单成功后跳转到我的订单.avi 083-优化业务-购物车中没商品就不允许去结算.avi ...
079-订单列表页面打开订单明细页面并传递参数.avi 080-根据订单号查询订单明细数据接口开发.avi 081-订单明细部分前后端联调.avi 082-下单成功后跳转到我的订单.avi 083-优化业务-购物车中没商品就不允许去结算.avi ...
●问答管理移动问题页面点击“取消”不能返回上一页。 ●问答积分管理中管理分类不完整。 ●问答回复设置为最佳答案时,不填写评论时无法设置成最佳答案。 ●问题类型左侧导航树右键选择排序出错。 ●在前台问答...
Excel模板账页模板(总分类账明细分类账原材料物资进销存多栏式明细账页记账凭证).zip
到时打开excel文件,点击里面的唯一的一个按钮就可以实现一键转换,点了后需要输入一个数字,就是之前你从天河导出了多少个.txt文件,excel里sheet1里需要填写一个批量导入的图纸所在目录,这个需要自己手动输入下。...