c:foreach标签取不到值,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c:foreach标签取不到值,相关的知识,希望对你有一定的参考价值。
@RequestMapping(value="/findAssets",method = RequestMethod.POST)
public ModelAndView findAssets(Assets assets)
List<Assets> list = searchService.fixndAssets(assets);
ModelAndView mav = new ModelAndView();
mav.addObject("list",list);
mav.setViewName("assetsList");
return mav;
<c:forEach items="$list" var="asset">
<tr>
<td class='spokesoft_srs_clean_tbody'><a id='linkAsset1'
href='Dispatcher?nvcm=RootContext_140;'
class='documentlink'
name='Asset KC-EML-001'>asset.asset_reference</a></td>
<td class='spokesoft_srs_clean_tbody'>asset.description</td>
<td class='spokesoft_srs_clean_tbody'>asset.ACCOUNT_ID</td>
<td class='spokesoft_srs_clean_tbody'>asset.LOCATION_ID</td>
</tr>
</c:forEach>
在页面打印过了,list中有数据,求解。。。
1.首先你要理解标签td中间夹的是文本信息,所以页面应该直接显示文本asset.description
2.如果写成<td class=\'spokesoft_srs_clean_tbody\'>$asset.description</td>这样才是el表达式,是指取值。 参考技术A 中间缺少$符号,例如:$asset.description
关于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>用法<c:foreach>类似于for和foreach循环
以下是目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach items="$list"
var="li">
$li
</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、 参考技术A 你好:
var 是迭代参数名称,在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。
items 是要进行迭代的集合。
因你将user对象放入request对象中,所以key值“user”对应的就是items中应该填写的结果集。
具体代码如下:
<c:forEach items="$user" var="record" varStatus="status">
<tr>
<td><c:out value="$record.a"></c:out></td>
<td><c:out value="$record.b"></c:out></td>
</tr>
</c:forEach>
其中,<c:out>也是jstl的标签,用来输出。 参考技术B 正确来说是JSTL 的foreach标签使用,这里可以参考下面的地址:
http://blog.csdn.net/liu78778/article/details/3973786
你这种情况是不需要forEach标签的,如果你想输出User 对象的内容,可以这样
<p>$us.a</p> 就可以输出us对象里面的a字段的内容了 参考技术C 网上有例子
以上是关于c:foreach标签取不到值,的主要内容,如果未能解决你的问题,请参考以下文章