jeesite 访问首页报错

1、问题描述

访问首页报错,报错信息如下:

2015-10-23 14:13:45 org.apache.catalina.core.ApplicationDispatcher invoke

严重: Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: /WEB-INF/views/modules/sys/menuTree.jsp(30,205) "${menu.parent.id eq (not empty param.parentId ? param.parentId:1)&&menu.isShow eq '1'}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${menu.parent.id eq (not empty param.parentId ? param.parentId:1)&&menu.isShow eq '1'}

    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)


2、原因分析

1、tomcat6.X版本的bug导致错误。

注:但是,tomcat6.0.18这个版本已修复这个bug。

2、表达式语言的三元运算符书写不规范导致错误。


3、解决方法

1、简单一点的解决方法是,三元运算符的表达式和运算符之间要有空格。

示例:(not empty param.parentId ? param.parentId : 1)里的冒号 : ,前后必须要有空格。

<c:forEach items="${menuList}" var="menu" varStatus="idxStatus">
		<c:if test="${menu.parent.id eq (not empty param.parentId ? param.parentId : 1)&&menu.isShow eq '1'}">

2、麻烦一点的方法是换成tomcat6.0.18这个版本。





参考

1、http://vefan.iteye.com/blog/764939

2、http://blog.sina.com.cn/s/blog_4cb400450100fxeu.html


你可能感兴趣的:(JeeSite)