博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java WEB开发时struts标签 显示set内容
阅读量:6498 次
发布时间:2019-06-24

本文共 2990 字,大约阅读时间需要 9 分钟。

hot3.png

在struts中有好多的标签方便开发,比如<logic:iterate>标签,可以很好的显示list的内容:

(一)对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);        %>        
name:
或者${a.name} 或者 ${a["name"]}
password:

 

 这里
  1. <logic:iterate id="a" name="list" type=" example.User "> 
  2. </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);     %>   
或者${show}

 

 (三)对集合Map的输出

如:有数据

HashMap
hm = new HashMap
();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);

 

则页面输出可写成:

 

name:
age:

 

或者用EL写作:

 

${h["key"] } + ${h.value["name"] }

 

其中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);    %>   

运行效果:

  1. 0 red green blue    
  2. 1 中国 美国 法国    
  3. 2 乔丹 布什 克林顿    

 

 

转载于:https://my.oschina.net/u/3647620/blog/1552403

你可能感兴趣的文章
.vimrc文件
查看>>
DVWA默认用户名密码
查看>>
简述 clearfix 的原理
查看>>
swift轮播图代码
查看>>
Entity Framework 约定
查看>>
构建现代化的命令行工具
查看>>
【Project Euler】530 GCD of Divisors 莫比乌斯反演
查看>>
js 使用 Lawnchair 存储 json 对象到本地
查看>>
还有这种操作?
查看>>
计算机基础第二课时
查看>>
POJO、JavaBean、DAO
查看>>
json的简单的数据格式
查看>>
关键字this引用
查看>>
iOS图像识别
查看>>
SharePoint 2010 自定义日志
查看>>
python 字符编码问题
查看>>
自动配置IPv4问题
查看>>
Php中正则小结(一)
查看>>
检测后台错误
查看>>
lc405. Convert a Number to Hexadecimal
查看>>