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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c:forEach定义了var,却显示不出来相关的知识,希望对你有一定的参考价值。

希望一觉醒来有好心人帮忙解决!

参考技术A 1. request.setAttribute("xxx", list); // 后台可以这样写。

2. 前台去掉scope 属性。

3. 去掉scope 不去掉scope 用这个写<c:forEach items="$requestScope[xxxx]" var="list">
或者 sessionScope[xxx ............
4. 检查标签声明 。重新弄一下jstl包.

提供可能出现问题的地方,共参考。
参考技术B 这个标签并不是struts1的 。而是jstl中的。 或者 附注: 不论是对整数还是对集合进行迭代, 的varStatus属性所起的作用相同。和var属性一样,varStatus用于创建限定了作用域的变量(改变量只在当前标签体内起作用)。不过,由varStatus属性命名
foreach,定义,var
这个标签并不是struts1的 。而是jstl中的。 或者 附注: 不论是对整数还是对集合进行迭代, 的varStatus属性所起的作用相同。和var属性一样,varStatus用于创建限定了作用域的变量(改变量只在当前标签体内起作用)。不过,由varStatus属性命名追问

我用的是springMVC,不要随便就复制别人的答案过来,我查了2,3个小时了,你这么做只会被我鄙视。

参考技术C var后面的值应该是你要遍历的json的单个元素,应该这么改:
<c:forEach items="jsonArray" var="json">
$json.id

</c:forEach>
你应该能明白吧!
参考技术D 不要用json对象,用普通对象就可以,你的问题在于,json 操作类将对象搞成字符串了。。所以foreach 出不来循环,或者,你也可以不用 foreach,你看$jsonArray是个标准的 json 字符串,你可以直接用 JS 来进行操作,也很简单 第5个回答  2015-12-11 el 表达式通过反射机制取bean的属性值,你使用的JSONObject显然是没有id这样的属性的。不要使用JSONObject与jsp通信,直接使用javabean

jstl表达式的foreach标签只执行循环不显示取出的值

jstl的foreach标签使用方法网上一大堆,在此不必赘述,本次主要mark的是为啥按照正常的写法不显示值,${value}放那啥样显示出来的就啥样

标题效果描述如下 :

  jsp中:

<c:forEach begin="1" var="a" end="5" step="1">
${a} <br>
</c:forEach>

显示效果:

${a}
${a}
${a}
${a}
${a}

jstl引用:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

maven工程pom文件引用包:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

左查右查一下午最终的结论是web.xml文件原来是自动生成的版本与jstl不匹配

不好用的web.xml (头部分):
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

修改成:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

~~~~~~~~~~~~~~

<web-app>

 (PS:第一次整这玩意,别埋汰我)


























以上是关于c:forEach定义了var,却显示不出来的主要内容,如果未能解决你的问题,请参考以下文章

jstl表达式的foreach标签只执行循环不显示取出的值

C:foreEach

为啥我使用<c:forEach>显示数据时,页面第一次数据不出来,刷新一次数据才会出来

jsp页面遍历输出

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

jsp循环list list包含map map包含2个数组,可以理解成多个问题 多个选项显示出来(html5显示优先)