转发我在2008年写在163的博客<Struts2中Iterator的用法> 您所在的位置:网站首页 idea搭建struts2框架 转发我在2008年写在163的博客<Struts2中Iterator的用法>

转发我在2008年写在163的博客<Struts2中Iterator的用法>

2023-04-14 00:27| 来源: 网络整理| 查看: 265

以下内容属转载:

Action 中大概是这样:

import java.util.Iterator;

import java.util.List;

import com.mingda.model.Chargecode_info;

import com.mingda.service.Timereport_infoService;

import com.opensymphony.xwork2.Preparable;

public class Timereport_infoAction implements Preparable{

private List timereport_infos;

private Timereport_info timereport_info;

this.service = service;

public String searchChargeCode(){ //页面上查询功能所调用的方法,结果返回的是每天的工作时间记录

timereportinfo_view = new LinkedHashMap>();

把每天的日期(String类型)作为LinkedHashMap的键。

List temp = this.service.searchByTrDateTime(tr_datetime,userid); //返回某一天的工作时间记录

.....

}

用图解的方式说明一下timereportinfo_view这个Map中数据的存放形式

/ [1]

——List{#a,#b

}

}

(map) \ ....

问题一:timereportinfo_view(LinkedHashMap类型的),而且timereportinfo_view嵌套了List,我需要的记录是存放在List当中的,那我在jsp页面中如何使用

答:

// 实际上ValueList中的值就是timereportinfo_view这个map的键。你可以去掉注释,页面上会打印出“键”。

//这个就是我想要得到的,和数据库表中相对应的字段

答:

问题三:在jsp页面上java代码部分用List存放了一些数据如何将List赋值给iterator,像这样:

....

.....

//do some thing

如果这么写

//do some thing

是肯定会报错的。

request.setAttribute("list", list); %>

//struts2官方文档中有iterator标签的例子,大家可以好好看看。

错误示例 :

//假设“ActionList”对应着action.java中已经定义的private List ActionList;并有get set 方法。

//do something

这里程序会报错,主要因为在内层中top所遍历的是当前的集合而且与同是当前集合中charge_code_id的有冲突。

解决方法:

很简单用,往下看:

Here we use the IteratorStatus determine every fourth row to insert an extra line break.

odd : boolean - returns true if the current iteration is odd

index : int - returns the index (0 based) of the current iteration

last : boolean - returns true if the iteration is on the last iteration

modulus(operand : int) : int - returns the current count (1 based) modulo the given operand



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有