-2

The identifier [#] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property

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

-im using tomcat 8 server.

the form page:

    <?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>

both files ar saved .xhtml

beans used:

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;
    }

}

HealthPlan:

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:

the code as it is (with the comments) gives the following error:

SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/jsf_2] threw exception [The identifier [#] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.] with root cause javax.el.ELException: The identifier [#] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true. at org.apache.el.parser.AstIdentifier.setImage(AstIdentifier.java:177) at org.apache.el.parser.ELParser.Identifier(ELParser.java:1816) at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1548) at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1369) at org.apache.el.parser.ELParser.Value(ELParser.java:1316) at org.apache.el.parser.ELParser.Unary(ELParser.java:1298) at org.apache.el.parser.ELParser.Multiplication(ELParser.java:1060) at org.apache.el.parser.ELParser.Math(ELParser.java:980) at org.apache.el.parser.ELParser.Concatenation(ELParser.java:936) at org.apache.el.parser.ELParser.Compare(ELParser.java:747) at org.apache.el.parser.ELParser.Equality(ELParser.java:641) at org.apache.el.parser.ELParser.And(ELParser.java:585) at org.apache.el.parser.ELParser.Or(ELParser.java:529) at org.apache.el.parser.ELParser.Choice(ELParser.java:486) at org.apache.el.parser.ELParser.Assignment(ELParser.java:243) at org.apache.el.parser.ELParser.Semicolon(ELParser.java:182) at org.apache.el.parser.ELParser.Expression(ELParser.java:175) at org.apache.el.parser.ELParser.MethodParameters(ELParser.java:1486) at org.apache.el.parser.ELParser.ValueSuffix(ELParser.java:1397) at org.apache.el.parser.ELParser.Value(ELParser.java:1328) at org.apache.el.parser.ELParser.Unary(ELParser.java:1298) at org.apache.el.parser.ELParser.Multiplication(ELParser.java:1060) at org.apache.el.parser.ELParser.Math(ELParser.java:980) at org.apache.el.parser.ELParser.Concatenation(ELParser.java:936) at org.apache.el.parser.ELParser.Compare(ELParser.java:747) at org.apache.el.parser.ELParser.Equality(ELParser.java:641) at org.apache.el.parser.ELParser.And(ELParser.java:585) at org.apache.el.parser.ELParser.Or(ELParser.java:529) at org.apache.el.parser.ELParser.Choice(ELParser.java:486) at org.apache.el.parser.ELParser.Assignment(ELParser.java:243) at org.apache.el.parser.ELParser.Semicolon(ELParser.java:182) at org.apache.el.parser.ELParser.Expression(ELParser.java:175) at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:113) at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:41) at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:111) at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:168) at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232) at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:67) at com.sun.faces.facelets.el.ELText$ELTextVariable.apply(ELText.java:203) at com.sun.faces.facelets.el.ELText$ELTextComposite.apply(ELText.java:184) at com.sun.faces.facelets.compiler.CommentInstruction.apply(CommentInstruction.java:81) at com.sun.faces.facelets.compiler.UIInstructionHandler.apply(UIInstructionHandler.java:141) at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161) at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:972) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

fcddfx
  • 1
  • 3
  • Which server you are using? – vinod Dec 30 '16 at 18:39
  • http://stackoverflow.com/questions/15900044/expression-language-skip-identifier-check-in-tomcat-7 may be this will help.. – vinod Dec 30 '16 at 18:41
  • Please **do post code**. See [ask] and specifically the [mcve] part. There is a reason for that, even if you think there is nothing in your code that is related to this. There might be something unexpected (for you) – Kukeltje Dec 30 '16 at 18:47
  • 1
    tomcat 8.and i tried what provided in the link still same error. – fcddfx Jan 02 '17 at 11:16
  • From the stack trace: `com.sun.faces.facelets.compiler.CommentInstruction`. OK, this is clearly a duplicate of http://stackoverflow.com/q/14692560 – BalusC Jan 03 '17 at 07:49
  • but i tried first without the comment block same error, then i tried to find out the source of the error by commenting idk. thanks anyway it realy helps.:) – fcddfx Jan 03 '17 at 15:22

1 Answers1

0

oh oki it works now . first i had

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

that caused the same error. second the comment block. thanks @balbus your'e a beast:)

Community
  • 1
  • 1
fcddfx
  • 1
  • 3