借助bboss标签库提供的list标签,我们可以非常方便地实现列表中的动态列数据的展示。
假设现在list中存放的是map类型的记录,map中有部分key/value是确定的,有部分key是不固定的,同时会把这不固定的列的key放在另一个list里,这样在遍历第一个list中的map数据时,直接输出固定的key/value数据后,再通过结合存放动态key的list来循环输出这些动态的key/value数据。
bboss在cell标签中提供了usecurrentCellValuetoCellName和currentcelltoColName两个属性来支撑这个功能特性。
usecurrentCellValuetoCellName为cell标签特有属性,功能说明:与index标签结合使用,usecurrentCellValuetoCellName对应当前list的当前记录的属性名称,将这个属性对应的值作为index索引对应的外围容器对象记录的属性名称,cell标签输出这个名称对应的外围记录的属性值
currentcelltoColName为cell标签特有属性,为boolean类型,默认为false,为true时标识生效,功能说明:与index标签结合使用,currentcelltoColName标识将当前list的当前记录对应的对象作为index索引对应的外围容器对象记录的属性名称,cell标签输出这个名称对应的外围记录的属性值。
currentcelltoColName属性适用于List<String>场景,也就是说将key直接存储在List中。usecurrentCellValuetoCellName适用于List<PO>类型,也就是说key作为PO对象的一个属性,然后这个PO对象存放在List中。
下面的代码演示了两个属性的使用方法:
<%
List rooms = new ArrayList();
for (int i =0 ; i < 10; i ++) {
Map map=new HashMap();
map.put("rommType", "麻将室"+i);
map.put("rommTypeID", "mj"+i);
map.put("overNum", (100+i)+"");
for (int j = 0; j < 10 ; j ++) {//设置动态属性
map.put("day "+j+"剩余房间数:", (10+j)+"");//map增加时间段内的数据
}
rooms.add(map);
}
List<String> days=new ArrayList<String>();
for (int j = 0; j < 10 ; j ++) {
days.add("day "+j+"剩余房间数:");
}
List<RoomDay> roomDays=new ArrayList<RoomDay>();
for (int j = 0; j < 10 ; j ++) {
RoomDay roomDay = new RoomDay();
roomDay.setDay("day "+j+"剩余房间数:");
roomDays.add(roomDay);
}
request.setAttribute("rooms", rooms);
request.setAttribute("days", days);
request.setAttribute("roomDays", roomDays);
%>
<div>
<p>currentcelltoColName属性演示</p>
<div>
<pg:list requestKey="rooms">
<p> <pg:cell colName="rommType"/></p>
<p><pg:cell colName="rommTypeID"/></p>
<p><pg:cell colName="overNum"/></p>
<p><pg:list requestKey="days">
<p><pg:cell/><pg:cell index="0" currentcelltoColName="true"/></p>
</pg:list></p>
</pg:list>
</div>
</div>
<div>
<p>usecurrentCellValuetoCellName属性演示</p>
<div>
<pg:list requestKey="rooms">
<p><pg:cell colName="rommType"/></p>
<p><pg:cell colName="rommTypeID"/></p>
<p><pg:cell colName="overNum"/></p>
<p><pg:list requestKey="roomDays">
<p><pg:cell colName="day"/><pg:cell index="0" usecurrentCellValuetoCellName="day"/></p>
</pg:list></p>
</pg:list>
</div>
</div>
参考文档:
bboss中的map标签结合list标签/cell标签展示复杂数据结构案例
分享到:
相关推荐
bboss-datatran 提供了丰富的数据转换规则,包括数据类型转换、字段筛选、异常值处理、数据拼接等,确保数据的质量和一致性。此外,它还支持自定义脚本(如Java、Python)进行复杂的数据清洗和预处理任务。 ### ...
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。 同时也是一个高性能Elasticsearch orm 客户端,100%兼容es各个版本 ...
4. **源码分析**:标签中提到的“源码”意味着我们可以通过查看BBoss Persistent的源代码来了解其内部处理大字段的具体实现。通过这种方式,开发者可以更好地理解其工作原理,进行定制化开发或优化。 5. **工具支持...
对于修改session中的对象数据,必须调用session.setAttribute方法将对象数据更新到MongoDB中,从而实现数据的共享。 bboss会话共享还提供了两种模式: 1. 集群间会话共享模式,这种模式实现了一个应用集群中各个...
- 视图渲染:如何配置和使用不同的模板引擎,以及如何在视图中展示模型数据。 - AOP应用:示例展示如何定义切面,以及如何应用事务管理和权限控制。 - 国际化与本地化:如何配置多语言环境,以及如何在应用中切换...
标题中的“bboss mvc 通过jsonp实现跨站跨域远程访问”指的是使用bboss MVC框架来处理JSONP(JSON with Padding)请求,以克服浏览器的同源策略限制,实现跨域数据交互。bboss MVC是一个Java Web开发框架,它提供了...
本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
6. `bboss-velocity-5.5.0.jar`:Velocity是Apache的一个模板引擎,用于生成动态内容,可能在BBoss Elasticsearch中用于构建自定义模板,生成用于导入Elasticsearch的JSON格式数据。 7. `bboss-core-5.5.0.jar`:这...
本bboss-datatran项目基于Java开发,包含591个文件,包括Java源代码、...系统实现了数据采集、数据清洗转换处理、数据入库以及数据指标统计计算的流批一体化处理功能,界面友好,功能完善,适合用于数据采集与处理。
2. **插入数据**: 将业务数据插入到索引中,BBoss 提供了批量插入功能,可以高效处理大量数据。 3. **查询数据**: 构建查询条件,通过 BBoss API 发送请求并解析返回结果。 4. **更新和删除**: 更新已存在的文档,...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
结合bboss和Elasticsearch,开发者可以轻松实现日志实时分析、用户行为追踪、商品推荐等业务场景,通过DSL实现复杂查询和聚合分析,提升应用的数据处理能力。 总之,bboss+es基本操作示例是学习和实践Elastic...
在Java中,传统的JDBC编程方式往往需要编写大量重复的SQL代码,而ORM框架如BBoss-DB-Elasticsearch-Tool则通过元数据(如注解或XML配置)将Java对象与数据库表映射起来,实现了数据的透明访问。这极大地提高了开发...