Incompatibilité de Type: impossible de convertir de Boolean boolean
- Je obtenir cette exception:
org.apache.jasper.JasperException: Impossible de compiler la classe pour les JSP
Je suis en utilisant tomcat 5.5.23.
org.apache.jasper.JasperException: Impossible de compiler la classe pour les JSP:
Une erreur s'est produite à la ligne: 29 dans le fichier jsp: /jsp/général/pos/DoMultiWordFrozen.jspf
Incompatibilité de Type: impossible de convertir de Boolean boolean
26:
27: item = (ItemType)session.getAttribute("item");
28: id = Integer.parseInt((String)session.getAttribute("id"));
29: newItem = Booléen.valueOf((String)session.getAttribute("newItem"));
30: changeGroup = null;
31:
32: if (!newItem && point.getMultiWordFrozen() != null && id != 0) {
Stacktrace:
org.apache.jasper.compilateur.DefaultErrorHandler.javacError(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.compilateur.ErrorDispatcher.javacError(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.compilateur.JDTCompiler.generateClass(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.compilateur.Compilateur.compiler(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.compilateur.Compilateur.compiler(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.compilateur.Compilateur.compiler(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.JspCompilationContext.compiler(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compilateur-5.5.23.jar.donc)
org.apache.jasper.servlet.JspServlet.service(jasper5-compilateur-5.5.23.jar.donc)
javax.servlet.http.HttpServlet.service(tomcat5--servlet 2.4-api-5.5.23.jar.donc)
newitem est défini comme:
boolean newItem = false;
SOLUTION:
Cela a été causé parce que j'ai utilisé un ancienne version du JDK qui ne comprennent pas autobxing
après la mise à niveau de jdk 1.6 (ou de toute >= 1.5 ). Il fonctionne bien maintenant.
- essayez
newItem = session.getAttribute("newItem");
- Semble que vous êtes en utilisant la version Java de moins de 1,5 pour la compilation de pages Jsp. 1.5 un unboxing (conversion de "boîte", c'est à dire un objet Boolean, à un simple 'boolean' type) devrait être fait automatiquement. Si possible, je vous suggère d'utiliser les nouvelles JDK
- java -version java version "1.6.0_20" OpenJDK Environnement d'Exécution (IcedTea6 1.9.10) (rhel-1.23.1.9.10.el5_7-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b09, en mode mixte)
Vous devez vous connecter pour publier un commentaire.
Boolean.valueOf
renvoie uneBoolean
, pas unboolean
- donc, on dirait que vous voulez probablement:Ou, peut-être plus lisible:
Je suis un peu surpris de voir que ce n'est pas unboxing automatiquement pour vous, mais je suppose que ça dépend de la version du compilateur Java Jasper est à l'aide.
Essayer de remplacer la ligne 29 avec ceci:
newItem n'est pas défini dans votre exemple, mais je soupçonne que c'est une valeur booléenne. Ajouter .booleanValue() à la fin de la ligne 29 de convertir vos analysé objet Booléen booléen primative.