最新版本的QQ2017qq匿名悄悄话没了怎么没了?

18538人阅读
Action中:&& private List&Message& messageL//省略get,set方法&& @Action(&/findAllMessageAOP&)&& &public String findAllMessageAOP() throws Exception {&& &&& &messageList=messageManager.queryAll();&& &&& &return &find&;//跳转到对应的jsp页面&& &}Jsp页面的显示:&s:iterator value=&messageList&&&& &&& &&&& &%--用EL表达式直接调用属性循环输出对象的各个属性值--%&& & & & & & & & & & &tr&&& &&& &&& &&& &&& &&& &&td&${messageID} &/td&&& &&& &&& &&& &&& &&& &&td&${messageSendTime} &/td&&& &&& &&& &&& &&& &&& &&td&${messageValidTime}&/td&&& &&& &&& &&& &&& &&& &&td&${messageValidTime}&/td&&& &&& &&& &&& &&& &&& &&td&${messageContent }&/td&&& &&& &&& &&& &&& &&/tr&&/s:iterator&或&c:forEach var=&message& items=&${messageList}&&&&&&&&&&&&&&&&&& &%--用EL表达式调用list对象的属性循环输出对象的各个属性值--%& &&&&&&&&&&&&&&&& &tr&&&&&&&&&&&&&&&&&&&& &td&${message.messageID}&/td&&& &&& &&& &&& &&& &&td&${message.messageSendTime}&/td&&& &&& &&& &&& &&& &&td&${message.messageValidTime}&/td&&& &&& &&& &&& &&& &&td&${message.messageValidTime}&/td&&& &&& &&& &&& &&& &&td&${message.messageContent}&& &&& &&& &&& &&& &&/td&&&&&&&&&&&&&&&&&& &/tr& &/c:forEach&呈现效果如下:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:157917次
积分:1975
积分:1975
排名:第17591名
原创:40篇
(1)(1)(1)(3)(1)(1)(1)(2)(1)(1)(2)(6)(7)(2)(2)(6)(7)使用s:iterator或c:foreach页面循环输出两个list_C++,C语言_ThinkSAAS
使用s:iterator或c:foreach页面循环输出两个list
使用s:iterator或c:foreach页面循环输出两个list
内容来源: 网络
有这样的需求,两个list:
1.list包含属性X,值为1、2、3、4、5、6
2.list2包含属性Y,值为a、b、C、D、E、F
3.两个list的size相同
4.输出成(原来的大小),值为合并后的,即:1a、2b、3C、4D、5E、6F
方法是:通过struts的iterator和set、property标签,如下所示:
&s:iterator value="list1"status="status"step="1"&
&s:set name="list2"value="#attr.l2[#attr.status.getIndex()]"scope="request"/&
&s:property value="#request.list1.x"/&
&s:property value="#request.list2.y"/&
&/s:iterator&
下面是使用foreach实现的两个输出:
&c:forEach items="${list1}"var="item"varStatus="status"&
&c:out value="${item.X}"&&/c:out&
&c:out value="${list2[status.index].Y}"&&/c:out&
&/c:forEach&
jstl中的varStatus
和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性:
getCurrent()
当前这次迭代的(集合中的)项
getIndex()
当前这次迭代从 0 开始的迭代索引
getCount()
当前这次迭代从 1 开始的迭代计数
用来表明当前这轮迭代是否为第一次迭代的标志
用来表明当前这轮迭代是否为最后一次迭代的标志
getBegin()
begin 属性值
end 属性值
step 属性值
&c:foreach var="showBspSubTop"varstatus="i"begin="1"step="1"items="${ showBspSubTops }"&&/c:foreach&
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信关于c:forEach迭代标签的问题 - ITeye问答
本人在项目中,用ssh架构,想做成分页的效果.
以前我在页面中是,这样取得数据的
&!--进行循环遍历数据--&
&!--进行循环遍历数据--&
List &Users& lof = (List) request.getAttribute("lof");
for (Users o : lof) {
&td class="tb_sabookMain"&
&div align="center"& &%=o.getUsername()%& &/div&
&td class="tb_sabookMain"&
&div align="center"& &%=o.getPassword()%& &/div&
&td class="tb_sabookMain"&
&div align="center"& &%=o.getAddress()%& &/div&
&td class="tb_sabookMain"&
&div align="center"& &%=o.getEmail()%& &/div&
&td class="tb_sabookMain"&
&a href="sysUsers.do?method=showAuthority&id= &%=o.getId()%"&修该 &/a&
&a href="sysUsers.do?method=removeOperator&id= &%=o.getId()%&"&删除 &/a&
这样遍历数据的.没有问题.
现在我想用
&c:if test="${!empty pm.datas}"&
&&& &c:forEach items="${pm.datas}" var="datas"&
&&& &tr bgcolor="#EFF3F7"&
&&& &td align="center"&${datas.username} &/td&
&&& &td align="center"&${datas.password} &/td&
&&& &td align="center"&${datas.address} &/td&
&&& &td align="center"&${datas.email} &/td&
&&& &td align="center"&
&&& &a href="sysUsers.do?method=showAuthority&id=${datas.id }"&修该 &/a&
&&& &a href="sysUsers.do?method=removeOperator&id=${datas.id }"&删除 &/a&
&&& &/c:forEach&
&&& &/c:if&
c:forEach标签遍历数据,不知道行不行?
还有就是 &a href="sysUsers.do?method=showAuthority&id=${datas.id }"&修该 &/a&
&&& &a href="sysUsers.do?method=removeOperator&id=${datas.id }"&删除 &/a&
用这样id=${datas.id }传递,id值可以吗?谢谢了,呵呵.
采纳的答案
这样写是可以的。
&c:forEach& 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行&c:forEach&的本体内容。
语法1:迭代一集合对象之所有成员
  &c:forEach [var="varName"] items="collection" [varStatus="varStatusName"]
  [begin="begin"] [end="end"] [step="step"]&
  本体内容
  &/c:forEach&
语法2:迭代指定的次数
  &c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]&
  本体内容
  &/c:forEach&
  属性
  名 称
  说 明
  EL
  类型
  必须
  默认值
  var
  用来存放现在指到的成员
  N
  String
  否
  无
  items
  被迭代的集合对象
  Y
  Arrays
  Collection
  Iterator
  Enumeration
  Map
  String
  否
  无
  varStatus
  用来存放现在指到的相关成员信息
  N
  String
  否
  无
  begin
  开始的位置
  Y
  int
  否
  0
  end
  结束的位置
  Y
  int
  否
  最后一个成员
  step
  每次迭代的间隔数
  Y
  int
  否
  1
  限制
  ·假若有begin属性时,begin必须大于等于 0
  ·假若有end属性时,必须大于begin
  ·假若有step属性时,step必须大于等于0
  Null 和 错误处理
  ·假若items为null时,则表示为一空的集合对象
  ·假若begin大于或等于items时,则迭代不运算
  说明
  如果要循序浏览一个集合对象,并将它的内容显示出来,就必须有items属性。
  范例
  下面的范例 Core_forEach.jsp是将数组中的成员一个个显示出来的:
已解决问题
未解决问题jsp页面循环集合操作整理
字体:[ ] 类型:转载 时间:
循环集合操作在使用过程中很频繁,本文整理了一些常用的,感觉还不错,喜欢的朋友可以收集下
第一种:struts1.2循环遍历元素,name是结果集。引用标签库&%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %& &logic:iterate&主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1、 java对象的数组 2、 ArrayList、Vector、HashMap等 例:
代码如下: &logic:iterate id="a" name="list" type=" example.User "& &tr&&td width="50%"& name: &bean:write name="a" property="name"/& &td/&&td width="50%"& password: &bean:write name="a" property="password"/& &/td&&/tr& &/logic:iterate&
iterate标记 id 脚本变量的名称,它保存着集合中当前元素的句柄。 name 代表了你需要叠代的集合,来自session或者request的属性。 type 是其中的集合类元素的类型 bean 的write标记是用来将属性输出的,name用来匹配iterate的id,property用来匹配相应类的属 性&logic:iterate&用法详解 20:34&login:iterate&标记用于在页面中创建一个循环,以此来遍历如数组、Collection、Map这样的对象。该标 记的功能强大,在Struts应用的页面中经常使用到。 1、对数组进行循环遍历 使用&logic:iterate&标记可以用于遍历数组,以下是一段示例代码: 程序代码
代码如下: &% String[] testArray={"str1","str2","str3"}; pageContext.setAttribute("test",testArray); %& &logic:iterate id="show" name="test"& &bean:write name="show"/& &/logic:iterate&
在上面的代码中,首先定义了一个字符串数组,并为其初始化。接着,将该数组存入pageContext对象中,命名为test1。然后使 用&logic:iterate&标记的name属性指定了该数组,并使用id来引用它,同时使用&bean:write&标记 来将其显示出来。其结果为: str1 str2 str3 另外,还可以通过length属性来指定输出元素的个数。如下面的代码: 程序代码&logic:iterate id="show" name="test" length="2" offset="1"& &bean:write name="show"/& &/logic:iterate& 其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出。所以该代码的运行结果应当输出: str2 str3 另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如: 程序代码
代码如下: &logic:iterate id="show" name="test" length="2" offset="1" indexId="number"& &bean:write name="number"/&:&bean:write name="show"/& &/logic:iterate&
其显示结果为: 1:str2 2:str3 2、对HashMap进行循环遍历 程序代码
代码如下: &span style="color:#FF6600;"&&span style="background-color: rgb(255, 153, 102);"&&span style="background-color: rgb(255, 255, 255);"&&% HashMap countries=new HashMap(); countries.put("country1","中国"); countries.put("country2","美国"); countries.put("country3","英国"); countries.put("country4","法国"); countries.put("country5","德国"); pageContext.setAttribute("countries",countries); %& &logic:iterate id="country" name="countries"& &bean:write name="country" property="key"/&: &bean:write name="country" property="value"/& &/logic:iterate& 在bean:write中通过property的key和value分别获得HaspMap对象的键和值。其显示结果为: country5:德国 country3:英国 country2:美国 country4:法国 country1:中国&/span& &/span&&/span&
由结果可看出,它并未按添加的顺序将其显示出来。这是因为HaspMap是无序存放的。 3、嵌套遍历 程序代码
代码如下: &span style="color:#CC6600;"&&% 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 乔丹 布什 克林顿 [/size][/size][/color][/color]&/span&
第二种:struts2.0循环遍历元素,注:value是结果集。引用标签库&%@ taglib uri="/struts-tags" prefix="s" %& s:iterator 标签有3个属性: value:被迭代的集合 id :指定集合里面的元素的id status 迭代元素的索引 1:jsp页面定义元素写法 数组或list
代码如下: &span style="color:#CC6600;"&&s:iterator value="{'1','2','3','4','5'}" id='number'& &s:property value='number'/&A &/s:iterator& 打印结果为: 1A2A3A4A5A&/span&
2:索引的用法 如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法 int getCount()返回当前迭代了几个元素 int getIndex()返回当前元素索引 boolean isEven()当然的索引是否偶数 boolean isFirst()当前是否第一个元素 boolean isLast() boolean isOdd()当前元素索引是否奇数
代码如下: &span style="color:#CC6600;"&&s:iterator value="{'a','b','c'}" id='char' status='st'& &s:if test="#st.Even"& 现在的索引是奇数为:&s:property value='#st.index'/& &/s:if& 当前元素值:&s:property value='char'/& &/s:iterator& &/span&
3:遍历map value可以直接定义为: value也可以是数据栈里面的java.util.Map对象
代码如下: &span style="color:#CC6600;"&遍历写法如下: &s:iterator value="map" id="id" status="st"& key : &s:property value='key'/& value:&s:property vlaue='value'/& &/s:iterator& 当然key 和value 都可以使java 的 Object&/span&
4:遍历数据栈.简单的List类, List&Attr& class Attr{String attrNString getAttrName(){return "123";}}
代码如下: &span style="color:#CC6600;"&&s:iterator value="label" id="id"& &s:property value="#id.attrName" /& &/s:iterator& 当然value 还可以写成 value="%{label}" label可以有.操作 label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();&/span&
5:遍历2个list;
代码如下: &span style="color:#CC6600;"&List&AttrName& attrN {color,size,style} List&AttrValue& attrV {red,20,gay} 这2个list的元素是一一对应的,一个attrN对应一个attrV &s:iterator value="%{attrN }" id="id" status="status"& index is : &s:property value='status.index'/& attrName is : &s:property value='id'/& or &s:property value='%{id}'/& attrName is : &s:property value='%{attrV[#status.index]}'/& &/s:iterator&&/span&
第三种:serlvet用&c:&标签循环遍历,注:items是结果集。引用标签库&%@ taglib prefix="c" uri="/WEB-INF/c.tld" %& &c:forEach&标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。 &c:forEach&标签的语法定义如下所示。 &c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression"& body content &/c:forEach& &c:forEach&标签具有以下一些属性: l var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 l items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 l varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。 l begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。 l end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。 l step:迭代的步长。 &c:forEach&标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示: l java.util.Collection:调用iterator()来获得的元素。 l java.util.Map:通过java.util.Map.Entry所获得的实例。 l java.util.Iterator:迭代器元素。 l java.util.Enumeration:枚举元素。 l Object实例数组:数组元素。 l 基本类型值数组:经过包装的数组元素。 l 用逗号定界的String:分割后的子字符串。 l javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。 不论是对整数还是对集合进行迭代,&c:forEach&的varStatus属性所起的作用相同。和var属性一样,varStatus用于创建限定了作用域的变量(改变量只在当前标签体内起作用)。不过,由varStatus属性命名的变量并不存储当前索引值或当前元素,而是赋予javax.servlet.jsp.jstl.core.LoopTagStatus类的实例。该类包含了一系列的特性,它们描述了迭代的当前状态,如下这些属性的含义如下所示: l current:当前这次迭代的(集合中的)项。 l index:当前这次迭代从0开始的迭代索引。 l count:当前这次迭代从1开始的迭代计数。 l first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。 l last:用来表明当前这轮迭代是否为最后一次迭代,该属性为boolean类型。 l begin:begin属性的值。 l end:end属性的值 l step:step属性的值 &c:foreach&用法 转的,可以用来作为自己的学习笔记 &c:foreach&类似于for和foreach循环 以下是我目前见过的用法: 1、循环遍历,输出所有的元素。 &c:foreach items="${list}" var="li"& ${li} www.jb51.net &/c:foreach& 注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。 2、循环遍历,输出一个范围类的元素。 &c:foreach items ="${lis}" var = "li " begin="2" end ="12"& ${li} &/c:foreach& 注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin 和end的引号必须写。 3、循环遍历,输出除某个元素以外的元素或输出指定元素。 &c:foreach items="${list}" var ="li" varStatus="status"& &c:if text="${status.count==1}& ${"第一个元素不要"} &/c:if& ${li} &/ c:foreach& 注意:varStatus 表示当前集合的状态(其实是不是,我也不太清楚,只知道这样用,会的人指点下),count为循环一个计算器。 4、循环遍历,输出第一个或最后一个元素。 &c:foreach items="${list}" var ="li" varStatus="status"& &c:if text="${status.first}"&我是第一个元素&/c:if& &c:if text="${status.last}"&我是最后一个元素&/c:if& &/c:foreach& 注意:first表示如果是一个元素,则返回ture,反之则返回false last 表示如果是最后一个元素,则返回ture,反之则返回false。 5、循环遍历,按指定步长输出。 &c:foreach items="list" var ="li" step="2"& ${li} &/c:foreach& 注意:step为循环的步长。每次隔两个单位输出一个。如:1、3、5、==
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 2017qq悄悄话怎么没了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信