论坛首页 Java企业应用论坛

<c:foreach>用法

浏览 3666 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-12-19  
对于jstl中的foreach进行一个总结
&lt;c:foreach&gt;就是相当于于for和foreach循环,服务器最终也会帮他转换成Java中的这类循环代码,它的主要用法也就这么几种:
1、循环遍历,输出所有的元素。 其中items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
&lt;c:foreach items="${list}" var="li"&gt;
${li}
&lt;/c:foreach&gt;

2、循环遍历,输出一个范围类的元素。 其中begin 定义遍历的开始位置,end定义遍历的结束位置。
&lt;c:foreach items ="${lis}" var = "li " begin="2" end ="12"&gt;
${li}
&lt;/c:foreach&gt;

3、循环遍历,输出除某个元素以外的元素或输出指定元素。
&lt;c:foreach items="${list}" var ="li" varStatus="status"&gt;
&lt;c:if text="${status.count==1}&gt;
${"第一个元素不要"}
&lt;/c:if&gt;
${li}
&lt;/ c:foreach&gt;
其中varStatus属性可以有以下属性值:
            current当前这次迭代的(集合中的)项
            index当前这次迭代从 0 开始的迭代索引
            count当前这次迭代从 1 开始的迭代计数
            first用来表明当前这轮迭代是否为第一次迭代的标志
            last用来表明当前这轮迭代是否为最后一次迭代的标志
            begin属性值
            end属性值
            step属性值

eg:
&lt;c:foreach items="list" var ="li" step="2"&gt;
${li}
&lt;/c:foreach&gt;
注意:step为循环的步长。每次隔两个单位输出一个。如:1、3、5、==

下面一个实例,代码是从网上拷来的
<pre name="code" class="jsp">  
&lt;c:forEach items="${command.modelList}" var="model" varStatus="abc"&gt; 
                    &lt;tr&gt; 
                        &lt;td&gt;&lt;c:out value="${abc.count}"/&gt;&lt;/td&gt; 
                        &lt;td class="model"&gt; 
                         &lt;form:checkbox path="select" value="${abc.index}"/&gt; 
                            &lt;label for="model1"&gt;${model.modelName}&lt;/label&gt; 
                            &lt;p&gt;${model.modelDesc}&lt;/p&gt; 
                        &lt;/td&gt; 
                        &lt;td&gt; 
                         &lt;form:select path = "modelList[${abc.index}].positionIdx" onchange="selectPoss(this);"&gt; 
                        &lt;option value=""&gt;请选择&lt;/option&gt; 
                        &lt;form:option value="A" label="位置A"/&gt; 
                        &lt;form:option value="B" label="位置B"/&gt; 
                        &lt;form:option value="C" label="位置C"/&gt; 
                        &lt;form:option value="D" label="位置D"/&gt; 
                        &lt;form:option value="E" label="位置E"/&gt; 
                        &lt;form:option value="F" label="位置F"/&gt; 
               &lt;/form:select&gt; 
                        &lt;/td&gt; 
                        &lt;td&gt; 
                         &lt;a href="#" onclick="getModelDetail(${model.modelID});"&gt;&lt;img src="&lt;%=request.getContextPath()%&gt;/images/edit.gif" alt="编辑"/&gt;&lt;/a&gt; 
                            &lt;a href="#" onclick="deleteModel(${model.modelID});"&gt;&lt;img src="&lt;%=request.getContextPath()%&gt;/images/delete.gif" alt="删除" /&gt;&lt;/a&gt; 
                        &lt;/td&gt; 
                    &lt;/tr&gt; 
                 &lt;/c:forEach&gt;  </pre>
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics