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)
Quel serveur vous utilisez? – vinod
http://stackoverflow.com/questions/15900044/expression-language-skip-identifier-check-in-tomcat-7 peut être cela aidera .. – vinod
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