c:forEach item="lists" var="list"是自定义标签,怎么取不到值 ?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c:forEach item="lists" var="list"是自定义标签,怎么取不到值 ?相关的知识,希望对你有一定的参考价值。

java中代码
private String item;
private String var;
public void doTag() throws JspException, IOException
JspContext context = getJspContext();
List list = (List)context.findAttribute(item);
JspWriter out = context.getOut();
out.println(item+" "+var);

public String getItem()
return item;

public void setItem(String item)
this.item = item;

public String getVar()
return var;

public void setVar(String var)
this.var = var;


jsp中代码
<%
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
request.setAttribute("rlist",list);
%>
<a:forEach item="rlist" var="aa"></a:forEach>
为什么不能输出集合中的值?而是输出人rlist字符串 ?

参考技术A 把var改成var="rlist"就可以了~本回答被提问者采纳

<c:foreach>怎么改变循环次数

1、给出一个基本代码方便说明:

<c:forEach begin="0" end="$(fn:length(list) - 1)" var="i">
<c:set var="obj" value="$list[i]" />
$obj
</c:forEach>

2、循环次数的更改:

把end配成你要的循环次数杰克。在这之前得先判断list的长度,要确保end 小于list的长度,否则会出错。

参考技术A <c:forEach items="$atts" var="item" begin="1" end="10" >
<div>你的内容</div>
</c:forEach>

以上是关于c:forEach item="lists" var="list"是自定义标签,怎么取不到值 ?的主要内容,如果未能解决你的问题,请参考以下文章

用<forEach>遍历list集合时,提示我找不到对象的属性

集合LIST中每个元素都是MAP集合的键,在JSP中循环遍历LIST时,如何用EL表达式取得改遍历值在MAP中对应值

在jsp页面判断两个list的值是不是相等,使用 <c:forEach>

jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?

<c:foreach>怎么改变循环次数

c:forEach定义了var,却显示不出来