識別子[#]は、EL仕様の1.19項(Identifier :: = Java言語識別子)で必要な有効なJava識別子ではありません。このチェックは、システムプロパティーを設定することで無効にすることができます。エラーの内容を理解できない
org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
-im tomcat 8 serverを使用してチェックします。
フォームページ:
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;
}
}
:
<?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>
両方のファイルが使用
豆.xhtml保存AR 210
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;
}
}
注:
SEVERE:サーブレット
それは(コメント)であるように、コードは、次のエラーを与えます。パス[/ jsf_2]のコンテキストでサーブレット[Faces Servlet]のservice()が例外を投げた[識別子[#]は必要なJava識別子ではありませんEL仕様の1.19節(Identifier :: = Java言語識別子)。このチェックは、システムプロパティorg.apache.el.parser.SKIP_IDENTIFIER_CHECKをtrueに設定することで無効にすることができます。]根本原因 javax.el.ELException:識別子[#]は、1.19節で必要な有効なJava識別子ではありませんEL仕様(Identifier :: = Java言語識別子)。このチェックは、システムプロパティorg.apache.el.parser.SKIP_IDENTIFIER_CHECKを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) org.apache.el.parser.ELParser.And(ELParser.java:585) at org.apache.el.parser.ELParser。または(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) org.apache.el.parser.ELParser.Multiplicationでorg.apache.el.parser.ELParser.Unary(ELParser.java:1298) (ELParser.java:1060) でorg.apacheで。 el.parser.ELParser.Math(ELParser.java:980)org.apache.el.parser.ELParser.Compareでorg.apache.el.parser.ELParser.Concatenation(ELParser.java:936) で (ELParser。 Javaの:org.apacheでorg.apache.el.parser.ELParser.Andでorg.apache.el.parser.ELParser.Equality(ELParser.java:641) (ELParser.java:585) で747) 。 el.parser.ELParser.Or(ELParser.java:529)org.apache.el.parser.ELParser.Assignmentでorg.apache.el.parser.ELParser.Choice(ELParser.java:486) で (ELParser。 Javaの:243) org.apache.el.parseでorg.apache.el.parser.ELParser.DeferredExpression(ELParser.javaでorg.apache.el.parser.ELParser.Expression(ELParser.java:175) でr.ELParser.Semicolon(ELParser.java:182) : 113)org.apache.elでorg.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:111でorg.apache.el.parser.ELParser.CompositeExpression(ELParser.java:41) で ) 。 org.apache.el.ExpressionFactoryImpl.createValueExpressionでorg.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:232) でlang.ExpressionBuilder.build(ExpressionBuilder.java:168) (ExpressionFactoryImpl.java:67) com.sun.faces.facelets.el.ELText $ ELTEXでcom.sun.faces.facelets.el.ELText $ ELTextVariable.apply(ELText.java:203) で tComposite.apply(ELText.java:184)com.sun.faces.facelets.compiler.UIInstructionHandler.applyでcom.sun.faces.facelets.compiler.CommentInstruction.apply(CommentInstruction.java:81) で (UIInstructionHandler。ジャワ: でcom.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190)でjavax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) における141) javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)で com.sun.faces.facelets.compilerで 。 com.sun.faces.facelets.compでNamespaceHandler.apply(NamespaceHandler.java:93) com.sun.faces.application.view.FaceletViewHandlingStrategy.buildViewでiler.EncodingHandler.apply com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)で(EncodingHandler.java:87) ( COMでcom.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) でcom.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99) でFaceletViewHandlingStrategy.java:972) 。 sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)org.apache.catalina.core.ApplicationFilterChain.internalDoFilterでjavax.faces.webapp.FacesServlet.service(FacesServlet.java:647) で (ApplicationFilterChain。 Javaの:292) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207で)org.apache.tomcat.websocket.server.WsFilter.doFilterでorg.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(WsFilter.java:52) (ApplicationFilterChain.java:240) org.apache.catalinaました。 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.javaでorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) でcore.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) : 106)org.apache.catalinaでorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141でorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) で) 。 valves.ErrorReportValve.invoke(ErrorReportValve.java:79)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) (AbstractProtocol.java:687) 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(不明なソース) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(不明なソース) java.lang.Thread.runでorg.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) (不明なソース)で
使用しているサーバーはどれですか? – vinod
http://stackoverflow.com/questions/15900044/expression-language-skip-identifier-check-in-tomcat-7こちらがお手伝いします。 – vinod
郵便番号**をください**。 [ask]、特に[mcve]の部分を参照してください。あなたのコードにこれに関連するものは何もないと思っても、その理由があります。予期せぬことがあるかもしれません(あなたのために) – Kukeltje