您的位置:首页 > 编程语言 > Java开发

logic:iterate,struts标签,叠代,iterate

2014-05-25 14:27 561 查看
logic:iterate

logic:iterate标签用来迭代集合,您可以使用如下方式来为这个标签指定其要叠代的集合:

使用一个运行时表达式,这个表达式的值是一个集合。

用name属性引用一个JSP Bean,这个JSP Bean本身就是一个集合。

用name属性引用一个JSP Bean,这个JSP Bean的一个属性是一个集合,这时可以联合使用property来指定这个集合。

上面所提到的集合可以是:

对象类型或原子类型的数组(Array)。

java.util.Collection的实现,包括ArrayList,Vector。

java.util.Enumeration的实现。

java.util.Iterator的实现。

java.util.Map的实现,包括HashMap,Hashtable和TreeMap。

如果您叠代的集合中含有null的值,这时需要采取一定的措施,因为这时logic:iterate不会在page作用域中创建对象。一般是使用<logic:present>标签或<logic:notPresent>标签来判断一下。

下面是logic:iterate叠代ArrayList的示例的对象引用关系和部分代码

图中的persons列表是在ListAction中填充的,在这里只是简单的加入了三个Person对象,在实际的应用中这些数据应该取自数据库。具体的代码如下:

public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) {

ListForm listForm = (ListForm) form;

List<Person> persons = new ArrayList<Person>();

Person person1 = new Person();
person1.setId("00001");
person1.setName("赵辰");

Person person2 = new Person();
person2.setId("00002");
person2.setName("李为芳");

Person person3 = new Person();
person3.setId("00003");
person3.setName("王微");

persons.add(person1);
persons.add(person2);
persons.add(person3);

listForm.setPersons(persons);

return mapping.findForward("success");
}

</pre…………………………………………………………………………<p style="COLOR: red; FONT-SIZE: 16px"><strong>详细页面:<a target=_blank href="http://www.verydemo.com/demo_c140_i7915.html" target="_blank">http://www.verydemo.com/demo_c140_i7915.html</a></strong></p>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: