Java WEB开发时struts标签 显示set内容
2010-05-19 15:13
495 查看
在struts中有好多的标签方便开发,比如<logic:iterate>标签,可以很好的显示list的内容:
(一)对List的循环遍历:
1.先定义一个User类:
2.建立jsp文件如:
这里
<logic:iterate id="a" name="list" type=" example.User ">
</logic:iterate>
"id"是在iterate循环的时候使用的内部循环变量,指代list中的一个实例,name指代的是在request、session、response等中的变量名
<bean:write name="a" property="name"/>标记是用来显示的,也可用EL表达式如:${a.name}或${a["name"]}
注:EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
(二)对数组进行循环遍历:
(三)对集合Map的输出
如:有数据
则页面输出可写成:
或者用EL写作:
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码:
<logic:iterate id="h" name="hm" scope="request" indexId="number">
第${number}个:${h["key"] } + ${h.value["name"] }<br/>
</logic:iterate>
(四)嵌套遍历:
程序代码:
运行效果:
0 red green blue
1 中国 美国 法国
2 乔丹 布什 克林顿
(一)对List的循环遍历:
1.先定义一个User类:
import java.io.Serializable; public final class User implements Serializable { private String name = null; private String password = null; public String getName () { return (this.name); } public void setName(String name) { this.name = name; } public String getPassword () { return (this. password); } public void setPassword (String password) { this. password = password; } }
2.建立jsp文件如:
<%@ page language="java" %> <%@ page import="example.*"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <% java.util.ArrayList list = new java.util.ArrayList(); User usera=new User(); usera.setName("white"); usera.setPassword("abcd"); list.add(usera); User userb=new User(); userb.setName("mary"); userb.setPassword("hijk"); list.add(userb); session.setAttribute("list", list); %> <html><body><table width="100%"> <logic:iterate id="a" name="list" type=" example.User "> <tr><td width="50%"> name: <bean:write name="a" property="name"/> 或者${a.name} 或者 ${a["name"]} <td/><td width="50%"> password: <bean:write name="a" property="password"/> </td></tr> </logic:iterate> </table></body></html>
这里
<logic:iterate id="a" name="list" type=" example.User ">
</logic:iterate>
"id"是在iterate循环的时候使用的内部循环变量,指代list中的一个实例,name指代的是在request、session、response等中的变量名
<bean:write name="a" property="name"/>标记是用来显示的,也可用EL表达式如:${a.name}或${a["name"]}
注:EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${sessionScope.user[data]}中data 是一个变量
(二)对数组进行循环遍历:
<% String[] testArray={"str1","str2","str3"}; pageContext.setAttribute("test",testArray); %> <logic:iterate id="show" name="test"> <bean:write name="show"/> 或者${show} </logic:iterate>
(三)对集合Map的输出
如:有数据
HashMap<String,TestIterate> hm = new HashMap<String,TestIterate>(); hm.put("11",new TestIterate("aa",11)); hm.put("22",new TestIterate("bb",22)); hm.put("33",new TestIterate("cc",33)); hm.put("44",new TestIterate("dd",11)); hm.put("55",new TestIterate("ee",22)); hm.put("66",new TestIterate("ff",33)); request.setAttribute("hm",hm);
则页面输出可写成:
<logic:iterate id="h" name="hm" scope="request"> name:<bean:write name="h" property="value.name"/> age:<bean:write name="h" property="value.age"/><br/> </logic:iterate>
或者用EL写作:
<logic:iterate id="h" name="hm" scope="request" length="2" offset="1"> ${h["key"] } + ${h.value["name"] }<br/> </logic:iterate>
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码:
<logic:iterate id="h" name="hm" scope="request" indexId="number">
第${number}个:${h["key"] } + ${h.value["name"] }<br/>
</logic:iterate>
(四)嵌套遍历:
程序代码:
<% String[] colors={"red","green","blue"}; String[] countries1={"中国","美国","法国"}; String[] persons={"乔丹","布什","克林顿"}; ArrayList list2=new ArrayList(); list2.add(colors); list2.add(countries1); list2.add(persons); pageContext.setAttribute("list2",list2); %> <logic:iterate id="first" name="list2" indexId="numberfirst"> <bean:write name="numberfirst"/> <logic:iterate id="second" name="first"> <bean:write name="second"/> </logic:iterate> <br> </logic:iterate>
运行效果:
0 red green blue
1 中国 美国 法国
2 乔丹 布什 克林顿
相关文章推荐
- Java WEB开发时struts标签 显示set内容
- JAVAWEB开发之Struts2详解(四)——ognl与valueStack(重点)、Struts常用标签、防止表单重复提交、Struts2中内置json插件
- Hibernate+Struts应用程序的JavaWebStudio 2005下快速、可视化开发 (转)
- [原]Java web学习系列之 Java web开发中的SSH整合(Struts、Spring、Hibernate)(上)
- JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- JavaWebStudio系列开发工具Visaul Struts版本简介
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
- JAVA WEB开发从数据库中查询到的数据用list怎么在JSP页面整齐的显示出来,请写代码,
- [原]Java web学习系列之 Java web开发中的SSH整合(Struts、Spring、Hibernate)(上)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- Hibernate+Struts应用程序的JavaWebStudio 2005下快速、可视化开发
- Hibernate(或其它ORM)里的inverse用法详解,内容摘自Java web轻量级开发面试教程
- JavaWebStudio系列开发工具Visaul Struts版本简介
- javaWeb开发struts 自定义类型转换器
- Java Web整合开发(王者归来)书本源码(光盘上所有内容)
- CMS内容管理系统开发- Java Web开发及发布实例(1)
- javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe
- 20.JavaWeb基础 Struts 1 多人开发
- Java web自定义标签按钮级别权限控制完美诠释(jplogic 快速开发平台)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)