今天遇到一个特殊需求,要求统计图采用时间升序显示,表格采用时间降序排列,由于统计图与表格都是使用的同一个数据源,那么迭代显示表格时必须采用反向迭代,那么怎样迭代呢?下面我们一起看看,其实比较简单。
1.(数据源)举例:[cvs:{1567.0,0.0,1422.0,1468.0,1440.0},labels:{2014-04-18 15:56',2014-04-18 16:00','2014-04-22 14:56','2014-04-22 15:03','2014-04-22 17:31'}]
2.看以上数据时间是升序的,如果采用以下迭代的话,那么表格显示的也是升序,没有达到产品要求:
<s:set name="dates" value="healthData['labels']" />
<s:set name="values" value="healthData['cvs']" />
<s:iterator value="dates" var="date" status="index">
<tr>
<td><s:property value="#index.index+1"/></td>
<td><s:property value="date"/></td>
<td><s:property value="#values[#index.index]"/> mmHg</td>
<td>-</td>
<td>-</td>
</tr>
</s:iterator>
3.经过分析,只要知道了values,dates数组的长度,那么我们可以减去index.index这个索引,那么这样就能达到要求,且看如下代码:
<s:set name="dates" value="healthData['labels']" />
<s:set name="values" value="healthData['cvs']" />
<s:iterator value="dates" var="date" status="index">
<tr>
<td><s:property value="#index.index+1"/></td>
<td>
<s:property value="#dates[#dates.size()-#index.index-1]"/>
</td>
<td>
<s:property value="#values[#values.size()-#index.index-1]"/> %
</td>
<td>-</td>
<td>-</td>
</tr>
</s:iterator>
分享到:
相关推荐
2. **配置环境**:配置web.xml和struts-config.xml,设置过滤器、ActionServlet和Struts配置。 3. **设计模型**:使用Hibernate工具创建实体类和hibernate.cfg.xml,配置数据源和映射信息。 4. **编写业务逻辑**:...
2. **迭代器工具**:提供了多种迭代器实现,包括反向迭代器、过滤迭代器等,便于遍历集合。 3. **转换器和工厂**:可以将一个对象转换为另一种对象,或者创建特定类型的集合实例。 4. **堆栈和队列**:提供了基于...
2. **迭代器增强**:提供了一些迭代器的扩展,比如反向迭代、过滤迭代等。 3. **工厂方法**:创建集合、映射和迭代器的工厂,简化代码编写。 4. **Bag接口**:实现多重集合,允许元素重复。 5. **Map utilities**:...
2. **Struts框架**:Struts作为MVC(模型-视图-控制器)架构的一部分,主要负责处理HTTP请求,将用户界面与业务逻辑分离。在这个购物网站中,Struts可以用来接收用户的操作,如点击购买按钮,然后调用相应的业务逻辑...
通常会使用Spring Boot或Struts等框架来构建RESTful API,与前端进行数据交换。 3. **数据库设计**:用户信息、好友关系、动态数据等都需要存储在数据库中。可以选择MySQL或Oracle作为关系型数据库,或者MongoDB等...
- **Struts2框架**:分析其工作原理,配置文件的使用,实现CRUD操作。 - **Spring3**:理解IoC和AOP,结合Hibernate和Struts2构建应用。 - **WebService**:了解其原理,创建并管理SOAP服务,进行跨平台通信。 5...
- **RARP**:反向地址解析协议,用于从物理地址获取IP地址。 ### UDP - **特点**:无连接、不可靠。 - **应用场景**:实时应用如视频会议。 ### IP协议 - **特点**:提供无连接的数据报服务。 - **版本**:IPv4...
在Spring MVC或Struts等框架中,Controller扮演着协调者的角色,自动生成Controller代码可以快速搭建应用的控制层。 最后,HTML模板文件用于前端展示。在MVC模式下,JSP(JavaServer Pages)或Thymeleaf等技术常...
4. **需求快速更新**:网站需快速响应用户反馈,实现快速开发、测试、部署的迭代过程。 在架构设计中,涉及以下几个关键方面: 1. **网络基础设施**:包括选择合适的网络设备,如交换机、路由器,以及考虑广域网...
4. **配置文件反向工程**:如果已经有一个现有的Struts配置文件,Construtsor可以对其进行反向工程,生成可视化表示,使开发者能更好地理解和修改配置。 5. **增强的调试和测试**:Construtsor可能提供了对Struts...
2. **MVC设计模式**:这是一个常见的Web应用程序架构模式,将模型(Model)、视图(View)和控制器(Controller)分离,提高了代码的可维护性和可扩展性。 3. **框架集成**:Spring框架可能被用于依赖注入和事务...
2. **`==`与`equals()`的区别**:`==`比较的是变量引用的内存地址,而`equals()`方法(默认行为)比较的是对象的内容。对于基本类型和字符串,`==`通常用于比较值;对于自定义对象,应重写`equals()`以比较对象属性...
Nginx可以作为反向代理和负载均衡器,对微服务架构也有帮助,但Docker更适合服务的容器化。 服务网关的主要作用包括统一API接口资源、负载均衡和身份认证,选项A、B、C正确。服务网关通常不直接处理业务逻辑,所以D...
化 你可以考虑使用更高效的MVC框架,如Spring MVC或Play Framework,它们比Struts更加轻量级且性能更好。另外,对Tomcat进行优化,比如调整线程池大小、开启GZIP压缩、减少session存储等,都能提升性能。4. 服务器...
Spring MVC、Struts2等框架提供了对MVC的支持。 5. **JDBC**:Java Database Connectivity是Java连接数据库的标准API。通过JDBC,开发者可以编写SQL语句,执行数据库操作,如查询、增删改等。事务管理也是JDBC的一...
迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 设计案例 UML 架构 系统架构能力 基本理论 扩展性设计 可用性设计 可靠性设计 一致性设计 负载均衡设计...
2. **empty/notEmpty**:检查一个对象或属性是否为空。如果对象是null、空字符串或空集合,`<logic:empty>`将返回true;相反,`<logic:notEmpty>`会在对象非空时执行。 3. **greaterEqual/lessEqual/greaterThan/...