关于java中c标签foreach的用法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java中c标签foreach的用法?相关的知识,希望对你有一定的参考价值。

我有一个user类。字段为String a,b,有标准的set,get方法,
user us=new user();
我的Servlet中有个request.setAttribute("user", us);
我用c标签怎么获取值,
<c:forEach [var="varName"] items="" [varStatus="varStatusName"]
var中的填写的是什么,items填写的是什么
$(输出a)该怎么输出??

  <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>
  var 用来存放现在指到的成员
  items 被迭代的集合对象  varStatus 用来存放现在指到的相关成员信息
begin 开始的位置
  end 结束的位置
  step 每次迭代的间隔数
  ·假若有begin属性时,begin必须大于等于 0
  ·假若有end属性时,必须大于begin
  ·假若有step属性时,step必须大于等于0
  Null 和 错误处理
  ·假若items为null时,则表示为一空的集合对象
  ·假若begin大于或等于items时,则迭代不运算
  说明
  如果要循序浏览一个集合对象,并将它的内容显示出来,就必须有items属性。
  范例
  下面的范例 Core_forEach.jsp是将数组中的成员一个个显示出来的:
参考技术A user不是集合,不能用forEach循环。可以这样user us=new user();List users = new LinkedList();users.add(us);request.setAttribute("users", users); <c:forEach var="u" items="$users "> $u.a </c:forEach> 参考技术B <c:forEach >一般将集合ArrayList、List、LinkedList、Vector、Stack和Set 等中的成员循序遍历出来。你要输出一个us对象的a属性输出 只需EL表达式$us.a即可。

关于java的foreach语法

--------写法一----------
int[] i=0,1,2,3;
for (int index:i)


---------写法二-------------
for (int index:0,1,2,3)


为什么写法二不可以?

因为java中数组是存储在堆中的,必须new出一个空间,0,1,2,3这就是几个数的集合没有开辟空间,index无法找到其内存空间,所以无法遍历 参考技术A for (int index:0,1,2,3)

改成
for (int index:new int[]0,1,2,3)

就可以了
参考技术B Java语法不允许写法二。“”在代码里除了可以表示数组初始化,还大量用于表示code block,放在表达式里面有可能造成编译器过于复杂。这大概是Java不允许类似写法二的原因吧

以上是关于关于java中c标签foreach的用法?的主要内容,如果未能解决你的问题,请参考以下文章

关于java中c标签foreach的用法?

关于java的foreach语法

PHP中foreach函数用法?

Java中的break,continue关于标签的用法(转载)

java关于Random的用法

JSP 中 JSTL<c:forEach 标签的用法