2016-12-30 1 views
-2

L'identificateur [#] n'est pas un identificateur Java valide, comme l'exige la section 1.19 de la spécification EL (identificateur :: = identificateur de langage Java). Cette vérification peut être désactivée en définissant la propriété systèmeImpossible de comprendre quelle est l'erreur

org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true. 

-im utilisant le serveur tomcat 8.

la page du formulaire:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h = "http://xmlns.jcp.org/jsf/html" 
    xmlns:f = "http://xmlns.jcp.org/jsf/core" > 
    <h:head> 
    <title>Health Plan</title> 
    </h:head> 
    <h:body> 
    <h:form> 
    <h1>Health Care Sign up</h1> 

    <!-- 
    Employee Name: <h:inputText value = "#{employee.name}" id="name" /> <br/> 

    Empolyee ID: <h:inputText value = "#{employee.id}" /> <br/> 
    Health Plan Name: 
    <h:selectOneMenu value="#{employee.healthPlanS}" > 
    <f:selectItems value="#{healthPlanOptions.heathPlanArrayList}" var="healthPlan" itemLabel="#{healthPlan.planName}" itemValue="# {healthPlan.planName}" /> 
    </h:selectOneMenu> 
    --> 

    <br/> 

    <h:commandButton value= "submit" action="ConfirmRegistration" /> 
    </h:form> 
    </h:body> 
    </html> 

confirmregistration

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h ="http://xmlns.jcp.org/jsf/html" 
> 
<h:head> 
<title>Confirmation</title> 
</h:head> 
<h:body> 
<ul> 
<!-- <li>Employee Name: #{ employee.name } </li> 
<li>Employee ID: #{ employee.id } </li> 
<li>Health Plan Selected: #{employee.healthPlanS} </li> 
<li>Monthly premium: #{healthPlanOption.price(#{healthPlanS})}</li> 
<li>contact number :4697654</li> --> 
</ul> 
</h:body> 
</html> 

les fichiers enregistrés ar .xhtml

haricots utilisés:

import javax.faces.bean.ManagedBean; 

@ManagedBean 
public class Employee { 
    private String name, id, healthPlanS; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getId() { 
     return id; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public String getHealthPlanS() { 
     return healthPlanS; 
    } 

    public void setHealthPlanS(String healthPlanS) { 
     this.healthPlanS = healthPlanS; 
    } 

} 

RégimeSanté:

import javax.faces.bean.ManagedBean; 

@ManagedBean 
public class HealthPlan { 

    private String planName, planPrice; 

    public HealthPlan() { 
    } 

    public HealthPlan(String name, String price) { 
     this.planName = name; 
     this.planPrice = price; 

    } 

    public String getPlanName() { 
     return planName; 
    } 

    public void setPlanName(String planName) { 
     this.planName = planName; 
    } 

    public String getPlanPrice() { 
     return planPrice; 
    } 

    public void setPlanPrice(String planPrice) { 
     this.planPrice = planPrice; 
    } 

} 

HealthPlanOption:

import java.util.ArrayList; 

import javax.faces.bean.ManagedBean; 

@ManagedBean 
public class HealthPlanOptions { 

    private ArrayList<HealthPlan> heathPlanArrayList; 

    public HealthPlanOptions() { 
     heathPlanArrayList = new ArrayList<HealthPlan>(); 

     heathPlanArrayList.add(new HealthPlan("Heath Care", "1555.5$")); 
     heathPlanArrayList.add(new HealthPlan("Heath Care 2", "1959.10$")); 

    } 

    public ArrayList<HealthPlan> getHeathPlanArrayList() { 
     return heathPlanArrayList; 
    } 

    public void setHeathPlanArrayList(ArrayList<HealthPlan> heathPlanArrayList) { 
     this.heathPlanArrayList = heathPlanArrayList; 
    } 


} 

Note:

le code tel qu'il est (avec les commentaires) donne l'erreur suivante:

GRAVES: Servlet. service() pour servlet [Faces Servlet] dans le contexte avec path [/ jsf_2] jette exception [L'identificateur [#] n'est pas un identifiant Java valide comme requis par la section 1.19 de la spécification EL (identificateur :: = identificateur de langage Java). Cette vérification peut être désactivée en définissant la propriété système org.apache.el.parser.SKIP_IDENTIFIER_CHECK sur true.] Avec la cause première javax.el.ELException: L'identificateur [#] n'est pas un identificateur Java valide comme l'exige l'article 1.19 de la spécification EL (identificateur :: = identificateur de langage Java). Cette vérification peut être désactivée en définissant la propriété système org.apache.el.parser.SKIP_IDENTIFIER_CHECK sur true. à org.apache.el.parser.AstIdentifier.setImage (AstIdentifier.java:177) à org.apache.el.parser.ELParser.Identifier (ELParser.java:1816) à org.apache.el.parser. ELParser.NonLiteral (ELParser.java:1548) à org.apache.el.parser.ELParser.ValuePrefix (ELParser.java:1369) à org.apache.el.parser.ELParser.Value (ELParser.java:1316) à org.apache.el.parser.ELParser.Unary (ELParser.java:1298) à org.apache.el.parser.ELParser.Multiplication (ELParser.java:1060) à org.apache.el.parser. ELParser.Math (ELParser.java:980) à org.apache.el.parser.ELParser.Concatenation (ELParser.java:936) à org.apache.el.parser.ELParser.Compare (ELParser.java:747) à o rg.apache.el.parser.ELParser.Equality (ELParser.java:641) à org.apache.el.parser.ELParser.And (ELParser.java:585) à org.apache.el.parser.ELParser. Ou (ELParser.java:529) à org.apache.el.parser.ELParser.Choice (ELParser.java:486) à org.apache.el.parser.ELParser.Assignment (ELParser.java:243) à org.apache.el.parser.ELParser.Semicolon (ELParser.java:182) à org.apache.el.parser.ELParser.Expression (ELParser.java:175) à org.apache.el.parser.ELParser. MethodParameters (ELParser.java:1486) at org.apache.el.parser.ELParser.ValueSuffix (ELParser.java:1397) à org.apache.el.parser.ELParser.Value (ELParser.java: 1328) à org.apache.el.parser.ELParser.Unary (ELParser.java:1298) à org.apache.el.parser.ELParser.Multiplication (ELParser.java:1060) à org.apache. el.parser.ELParser.Math (ELParser.java:980) à org.apache.el.parser.ELParser.Concatenation (ELParser.java:936) à org.apache.el.parser.ELParser.Compare (ELParser. java: 747) à org.apache.el.parser.ELParser.Equality (ELParser.java:641) à org.apache.el.parser.ELParser.And (ELParser.java:585) à org.apache. el.parser.ELParser.Or (ELParser.java:529) à org.apache.el.parser.ELParser.Choice (ELParser.java:486) à org.apache.el.parser.ELParser.Assignment (ELParser. java: 243) à org.apache.el.parse r.ELParser.Semicolon (ELParser.java:182) à org.apache.el.parser.ELParser.Expression (ELParser.java:175) à org.apache.el.parser.ELParser.DeferredExpression (ELParser.java: 113) à org.apache.el.parser.ELParser.CompositeExpression (ELParser.java:41) à org.apache.el.lang.ExpressionBuilder.createNodeInternal (ExpressionBuilder.java:111) à org.apache.el. lang.ExpressionBuilder.build (ExpressionBuilder.java:168) à org.apache.el.lang.ExpressionBuilder.createValueExpression (ExpressionBuilder.java:232) à org.apache.el.ExpressionFactoryImpl.createValueExpression (ExpressionFactoryImpl.java:67) à com.sun.faces.facelets.el.ELText $ ELTextVariable.apply (ELText.java:203) à com.sun.faces.facelets.el.ELText $ ELTex tComposite.apply (ELText.java:184) à com.sun.faces.factors.compiler.CommentInstruction.apply (CommentInstruction.java:81) à com.sun.faces.factors.compiler.UIInstructionHandler.apply (UIInstructionHandler. java: 141) à javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler (DelegatingMetaTagHandler.java:137) à com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply (ComponentTagHandlerDelegateImpl.java:190) à javax.faces.view.facelets.DelegatingMetaTagHandler.apply (DelegatingMetaTagHandler.java:120) à javax.faces.view.facelets.CompositeFaceletHandler.apply (CompositeFaceletHandler.java:95) à com.sun.faces.facelets.compiler. NamespaceHandler.apply (NamespaceHandler.java:93) at com.sun.faces.facelets.comp iler.EncodingHandler.apply (EncodingHandler.java:87) à com.sun.faces.facelets.impl.DefaultFacelet.apply (DefaultFacelet.java:161) à com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView (FaceletViewHandlingStrategy.java:972) à com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:99) à com.sun.faces.lifecycle.Phase.doPhase (Phase.java:101) à com. sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:219) à javax.faces.webapp.FacesServlet.service (FacesServlet.java:647) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain. java: 292) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) à org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) à org.apache.catalina. core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) à org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:212) à org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java: 106) à org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:502) à org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:141) à org.apache.catalina. valves.ErrorReportValve.invoke (ErrorReportValve.java:79) à org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:616) à org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:88) à org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:528) à org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1100) à org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:687) à org.apache.tomcat.util. net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1520) à org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1476) à java.util.concurrent.ThreadPoolExecutor.runWorker (Source inconnue) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (source inconnue) à org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) à java.lang.Thread.run (Source inconnue)

+0

Quel serveur vous utilisez? – vinod

+0

http://stackoverflow.com/questions/15900044/expression-language-skip-identifier-check-in-tomcat-7 peut être cela aidera .. – vinod

+0

S'il vous plaît ** faire le code postal **. Voir [demander] et plus précisément la partie [mcve]. Il y a une raison à cela, même si vous pensez qu'il n'y a rien dans votre code qui soit lié à cela. Il pourrait y avoir quelque chose d'inattendu (pour vous) – Kukeltje

Répondre

0

oh oki cela fonctionne maintenant. d'abord j'avais

<li>Monthly premium: #{healthPlanOption.price(#{healthPlanS})}</li> 

qui a causé la même erreur. seconde le bloc de commentaire. merci @balbus your'e une bête :)