According to TLD or attribute directive in tag file, attribute test does not accept any expressions
state 是存在REquest中的值 到底错在那里
[b]问题补充:[/b]
我知道是属性问题 但是${parm.state==1}的确是一个表达式啊 这个好像是没有接受到表达式 而不是不能接受表达式把,还有就是我看了版本是1.1的
<%@ taglib uri='http://java.sun.com/jstl/core' prefix='c'%> Taglib也没有问题
下面版本信息
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.1
Created-By: 1.4.2-38 ("Apple Computer, Inc.")
Specification-Title: JavaServer Pages Standard Tag Library (JSTL)
Specification-Version: 1.1
Implementation-Title: JavaServer Pages Standard Tag Library API Reference Implementation
Implementation-Version: 1.1.2
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Extension-Name: javax.servlet.jsp.jstl
这个版本号是多少 好像是1.1把 我是用MyEclipse引进来的 所以包应该是正确的
[b]问题补充:[/b]
此外 等号改为eq也是错的
1.
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
不是这样写的
应该是<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 少了一个jsp
2.
如果你的state是url(http://www.163.com?state=1)中的一个变量的话应该写成${param.state==1}
3.
类型是否一至
attribute test does not accept any expressions
看错误信息啊,这个是指test属性不能设置为任何表达式
or
jstl 1.1 以上版本才可以使用el。
1.请检查依赖jar是否正确?
2.确定使用最的jstl,检查taglib指令是否正确。
[code="java"]<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %> [/code]
应该是JSTL版本的问题,可能版本很低, 提示很明显的.
类型没有什么关系,如何有String的话都会转变为String 进行比较的
楼上的太复杂
你的版本太低了不支持:
替换一下这个
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
然后再下一个jstl的新包,如果没有的话,你告诉我你的邮箱,我发给你,保证能用
的parm写错了 为param