表达式语言和Eclipse警告:“items”不支持运行时表达式

我有以下JSP:

           
  • ,

Eclipse在我的代码中警告我关于EL表达式的每个实例:

 Warning [line 10]: "value" does not support runtime expressions Warning [line 13]: "items" does not support runtime expressions ... 

但事实并非如此,EL会被服务器正确评估。

任何人都可以向我提示正确的方向为什么eclipse会警告我那些EL表达式?

您的taglib指令导入JSTL 1.0 taglib。 它应该是JSTL 1.1(请注意URI的不同之处):

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

可能的解决方案( 在此处找到 )

双子图书馆

JSTL标记库有两个版本,它们的不同之处仅在于它们支持使用属性值的运行时表达式。

在JSTL-RT标记库中,表达式在页面的脚本语言中指定。 这正是当前标记库中当前工作的方式。

在JSTL-EL标记库中,表达式在JSTL表达式语言中指定。 表达式是EL语法中的字符串文字。

使用EL标记库时,无法为属性值传递脚本语言表达式。 此规则可以在转换时validation表达式的语法。

所以也许你的eclipse和服务器使用不同的标签库。

试试这个:改变这个:

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

是的:

 <%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> 

希望对你有效。 我从www.csdn.net得到了这个。