<c:forEach>不能使用

<%@ page contentType="text/html;charset=GBK" language="java"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>



当前已经有帐号信息











<%request.setAttribute("guess","Java"); %>
color=red[/color]
You guessed it!
/c:if
color=red[/color]

/c:if

color=red[/color]

/c:forEach



[color=red]出错信息(console):[/color]2009-1-6 9:31:43 org.apache.jasper.compiler.TagLibraryInfoImpl createAttribute
警告: Unknown element (deferred-value) in attribute

[color=red]出错信息(.jsp):[/color]
exception

javax.servlet.ServletException: javax/el/ValueExpression
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NoClassDefFoundError: javax/el/ValueExpression
java.lang.Class.getDeclaredMethods0(Native Method)
java.lang.Class.privateGetDeclaredMethods(Unknown Source)
java.lang.Class.getDeclaredMethods(Unknown Source)
java.beans.Introspector$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.beans.Introspector.getPublicDeclaredMethods(Unknown Source)
java.beans.Introspector.getTargetMethodInfo(Unknown Source)
java.beans.Introspector.getBeanInfo(Unknown Source)
java.beans.Introspector.getBeanInfo(Unknown Source)
java.beans.Introspector.getBeanInfo(Unknown Source)
java.beans.Introspector.(Unknown Source)
java.beans.Introspector.getBeanInfo(Unknown Source)...

[color=red]\tomcat5.0.28\common\lib:[/color]
commons-el.jar;
jstl.jar;
standard.jar;
都有

我的環境:
1.WLS8
2.JSTL1.0(Standard1.0.jar; jstl1.0.jar)
可以正常運行的.

另外,你的 <%@ page isELIgnored="false" %>

應該是在Servlet2.4以後才需要的吧.
我看你的Tomcat是5.0.28,應該換是Servlet2.3的環境; 去掉試試看.

改为 ${idx}行吗?

问题点在这于这个:
java.lang.NoClassDefFoundError: javax/el/ValueExpression

javax.el.ValueExpression

要么呢。你就看看应用和你的tomcat下有没有重复的jar。。。主要应该是那个*el*.jar

你的items属性没了, 那对哪个list循环呢,改成这样试试 ,加上items属性

你的c:forEach少了个items,即使该值集合的对象。
如:
Action:

[code="java"]List users = new ArrayList();
this.setUsers(userService.list());[/code]

JSP:
[code="java"]

/c:forEach [/code]

上面已经说的很详细了,就是少了一个items。
items:用来指定从哪里来遍历,
var:只是遍历时候的变量而已,来替代items中的遍历值

这样子试试看:


/c:forEach