HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /main/index.jsp(79,6) "${not empty(LOGINNAME_OA)&¬ empty(LOGINPWD_OA)&¬ empty(ISCHECK_OA)&¬ empty(OAIP)}" contains invalid expression(s): javax.el.ELException: Function ':empty' not found org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198) org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1151) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399) org.apache.jasper.compiler.Node$Root.accept(Node.java:489) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) org.apache.jasper.compiler.Validator.validate(Validator.java:1739) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:166) org.apache.jasper.compiler.Compiler.compile(Compiler.java:315) org.apache.jasper.compiler.Compiler.compile(Compiler.java:295) org.apache.jasper.compiler.Compiler.compile(Compiler.java:282) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.philisense.base.MessageFilter.doFilter(MessageFilter.java:26) org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) com.philisense.base.AuthenticationFilter.doFilter(AuthenticationFilter.java:105) com.philisense.base.MessageFilter.doFilter(MessageFilter.java:26) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
今天在用EL表达式时发现empty不太好使出现如上的错误,但在同样的代码在他人机器好使,于是查了一下发现反应此问题还挺多的,有许多人反映跟jdk和tomcat的版本相关,无意间在网上发现了这篇贴子的回帖解决了此问题(将not empty(xx)改为not empty (xx),即是在empty与()之间加上空格,具体看帖子的绿色字体的回帖解释),在此分享一下:
链接地址:http://jira.codehaus.org/browse/MRM-905
Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution:Fixed
-
Affects Version/s:1.1
-
Fix Version/s:1.1.2
-
Component/s:Web Interface
-
Labels:None
-
Environment:Windows XP SP3 FR
java (JDK) "1.6.0_07"
apache tomcat "6.0.18"
activation-1.1.jar
mail-1.4.jar
derby-10.1.3.1.jar
-
Number of attachments :
Description
After installing as Wiki said, as a tomcat WAR, i get parsing error in some JSP/TAG code.
Some examples :
org.apache.jasper.JasperException: /WEB-INF/jsp/components/companyLogo.jsp(22,0) "${!empty(organisationLogo)}" contient d'incorrecte(s) expression(s): javax.el.ELException: Function ':empty' not found
org.apache.jasper.JasperException: /WEB-INF/tags/currentWWUrl.tag(29,0) "${!empty(action) && !empty(namespace)}" contient d'incorrecte(s) expression(s): javax.el.ELException: Function ':empty' not found
I've added logs as attachments.
The workaround is very simple :
replace EL exepressions containing "empty(" with "empty (", and "not(" with "not (" as EL expression requires.
This is a VERY strange error since i've successufully setup Archiva on my profesionnal server, and i got these error on two distinct personnal systems.
I'll check the professionnal/personnal system differences.
I couldn't replicate this on trunk (-r685734), with the following environment: