问题:在使用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列表的参数。
分享到:
相关推荐
明细表是指在机械装配图中用来列出所有零部件及其相关信息的表格,通常绘制于图纸的右下角标题栏上方或单独一页。明细表内需填写的信息包括但不限于:序号、代号、名称、数量、材料、备注等。 ##### 3.2 作用 1. *...
在“vue+echarts收支明细手机页面”中,这个概念被转化为用户友好的界面,用户可以查看每日或当月的收入和支出详情,便于进行财务分析和规划。 【页面模板】 页面模板是预先设计好的网页结构,通常包含了HTML、CSS...
在ASP.NET中创建一个用于输入订单明细的页面是一项常见的任务,尤其在开发电子商务或企业管理系统的背景下。这个过程涉及用户界面设计、数据验证、数据存储等多个环节。以下将详细阐述实现这一功能所需的关键知识点...
在工程图纸中,标题栏和明细栏是不可或缺的组成部分,它们提供了关于图纸的基本信息和详细资料,有助于理解和使用图纸。下面将详细阐述这两个概念以及国标GB10609.1-89中的相关规定。 标题栏是工程图纸上的一块区域...
CATIA工程图标题栏和明细表插件详解.doc
httpwatch 查看WEB页面加载项以及响应时间的工具
在创建仿微信支付页面时,开发者通常会结合CSS(Cascading Style Sheets)和JavaScript来实现更丰富的交互效果。CSS用于控制网页的样式,包括颜色、布局和字体等,让网页看起来更接近微信支付的实际样式。而...
在会计系统中,调整分录是调整财务报表的重要步骤,但是有时在调整分录后,实质性底稿中的审定表合计数与明细表可能会不一致,这将导致财务报表的准确性受到影响。本文将对该问题进行分析和解决。 问题分析: 在...
首先,用户可能会遇到的问题是月底时需要查看如管理费用等科目的明细账,但默认的明细账格式可能无法满足需求。在这种情况下,可以通过“多栏式明细账”功能来获取所需信息。 要查看多栏式明细账,首先需要从账务...
标题“资源辅助清单查看明细”指的是一个用于管理和查看资源辅助工具详细信息的系统或软件。这类工具通常是为了帮助用户更高效、便捷地管理和操作各种IT资源,如软件、数据、网络设备等。在IT领域,资源辅助工具可以...
### CATIA工程图标题栏和明细表插件详解 #### 插件运行前的准备工作 在使用CATIA工程图标题栏和明细表插件之前,需要进行一系列的准备工作以确保软件能够正常运行。 1. **CATIA安装文件夹设置:** - 首先,找到...
NULL 博文链接:https://cupid1984.iteye.com/blog/1492285
在网站开发中,跨页和明细页的设计是常见的需求,例如在电商网站的产品列表和详情页面之间进行跳转。 跨页通常涉及到分页技术,这是为了处理大量数据并提高网页加载速度的有效方法。在ASP中,我们可以使用内置的...
pb12 treeview datawindow 增加了两个事件,分别执行点击层时执行事件;以及执行点击明细事件
GB 标题栏及明细表图块 机械CAD 常用文件
标题 "Node.js-RxjavaRetrofitMVPAOP类似支付宝微信账单明细列表" 提到的是一个结合了多种技术实现的项目,主要针对Android应用开发,旨在创建一个类似于支付宝或微信的账单明细展示功能。这个项目的核心技术栈包括...
为了解决这一问题,本文介绍了一种基于ObjectARX的解决方案,通过该技术可以在AutoCAD环境中自动生成标题栏和明细表。ObjectARX是AutoCAD提供的一种高级开发接口,允许开发者使用C++语言直接访问AutoCAD的核心功能,...
使用frameset框架可以将不同功能模块(如商品列表、订单明细、用户管理等)分布在不同的框架内,便于信息的分块展示和交互。 在提供的压缩包文件"shopping静态页面"中,可能包含了一系列用于构建商城后台的静态HTML...
根据提供的文件信息,本文将详细解释“明细表下拉框自动赋值”的核心知识点,以及在OA系统二次开发中如何运用JavaScript实现这一功能。 ### 明细表下拉框自动赋值 #### 1. 概述 在OA(Office Automation System)...