JSTL中EL使用遇到的问题

今天在配置struts-menu动态加载菜单数据时,按照struts-menu官方网站上的demo所说,用如下方式:

< menu:useMenuDisplayer  name ="Velocity"  config ="/templates/xtree.html"
            repository
="repository" >
          
< c:forEach  var ="menu"  items ="${repository.topMenus}" >
            
< menu-el:displayMenu  name ="${menu.name}" />
          
</ c:forEach >
        
</ menu:useMenuDisplayer >

我用的应用服务器是weblogic9.2,可是运行报错如下:

< c:forEach var = " menu "  items = " ${repository.topMenus} " >
                                              
^---^
main.jsp:
38 : 26 : 该特性不支持请求时间值。
< c:forEach var = " menu "  items = " ${repository.topMenus} " >
                                              
^---^
main.jsp:
38 : 26 : 该特性不支持请求时间值。
< c:forEach var = " menu "  items = " ${repository.topMenus} " >
                                              
^---^

at weblogic.servlet.jsp.JavelinxJSPStub.compilePage(JavelinxJSPStub.java:
292 )
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:
200 )
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:
164 )
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:
235 )
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:
391 )
Truncated. see log file 
for  complete stacktrace
>  

这个错误弄的有点糊涂,后来到Tomcat上运行,也出错:

org.apache.jasper.JasperException: /top.jsp(9,1) According to TLD or attribute directive in tag file, attribute items does not accept

这个错误就比较明显,应该是表达式的问题。后来经查资料发现原来是引用JSTl库的版本问题,对于JSTL1.0引用时应如下:

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

而对于JSTL1.1引用时候应改变uri,如下:

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

经调整后,问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值