java无法理解错误是什么
标识符[#]不是EL规范第1.19节要求的有效Java标识符(标识符::=Java语言标识符)。可以通过设置系统属性来禁用此检查
org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
-im使用tomcat 8服务器
表格页:
<?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>
确认登记
<?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
使用的豆类:
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;
}
}
健康计划:
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;
}
}
健康计划选项:
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;
}
}
注:
代码(带注释)给出了以下错误:
严重:Servlet。路径为[/jsf_2]的上下文中servlet[Faces servlet]的service()引发异常[标识符[#]不是EL规范第1.19节要求的有效Java标识符(标识符::=Java语言标识符)。可以通过“系统检查”属性禁用此设置。阿帕奇。埃尔。解析器。跳过\u标识符\u检查为true。]根本原因 javax。埃尔。ELException:标识符[#]不是EL规范第1.19节要求的有效Java标识符(标识符::=Java语言标识符)。通过设置系统属性“组织”,可以禁用此检查。阿帕奇。埃尔。解析器。跳过\u标识符\u检查为true。 在org。阿帕奇。埃尔。解析器。验光器。setImage(astiIdentifier.java:177) 在org。阿帕奇。埃尔。解析器。ELParser。标识符(ELParser.java:1816) 在org。阿帕奇。埃尔。解析器。ELParser。非文字(ELParser.java:1548) 在org。阿帕奇。埃尔。解析器。ELParser。ValuePrefix(ELParser.java:1369) 在org。阿帕奇。埃尔。解析器。ELParser。值(ELParser.java:1316) 在org。阿帕奇。埃尔。解析器。ELParser。一元(ELParser.java:1298) 在org。阿帕奇。埃尔。解析器。ELParser。乘法(ELParser.java:1060) 在org。阿帕奇。埃尔。解析器。ELParser。数学(ELParser.java:980) 在org。阿帕奇。埃尔。解析器。ELParser。连接(ELParser.java:936) 在org。阿帕奇。埃尔。解析器。ELParser。比较(ELParser.java:747) 在org。阿帕奇。埃尔。解析器。ELParser。相等(ELParser.java:641) 在org。阿帕奇。埃尔。解析器。ELParser。和(ELParser.java:585) 在org。阿帕奇。埃尔。解析器。ELParser。或者(ELParser.java:529) 在org。阿帕奇。埃尔。解析器。ELParser。选择(ELParser.java:486) 在org。阿帕奇。埃尔。解析器。ELParser。赋值(ELParser.java:243) 在org。阿帕奇。埃尔。解析器。ELParser。分号(ELParser.java:182) 在org。阿帕奇。埃尔。解析器。ELParser。表达式(ELParser.java:175) 在org。阿帕奇。埃尔。解析器。ELParser。MethodParameters(ELParser.java:1486) 在org。阿帕奇。埃尔。解析器。ELParser。ValueSuffix(ELParser.java:1397) 在org。阿帕奇。埃尔。解析器。ELParser。值(ELParser.java:1328) 在org。阿帕奇。埃尔。解析器。ELParser。一元(ELParser.java:1298) 在org。阿帕奇。埃尔。解析器。ELParser。乘法(ELParser.java:1060) 在org。阿帕奇。埃尔。解析器。ELParser。数学(ELParser.java:980) 在org。阿帕奇。埃尔。解析器。ELParser。连接(ELParser.java:936) 在org。阿帕奇。埃尔。解析器。ELParser。比较(ELParser.java:747) 在org。阿帕奇。埃尔。解析器。ELParser。相等(ELParser.java:641) 在org。阿帕奇。埃尔。解析器。ELParser。和(ELParser.java:585) 在org。阿帕奇。埃尔。解析器。ELParser。或者(ELParser.java:529) 在org。阿帕奇。埃尔。解析器。ELParser。选择(ELParser.java:486) 在org。阿帕奇。埃尔。解析器。ELParser。赋值(ELParser.java:243) 在org。阿帕奇。埃尔。解析器。ELParser。分号(ELParser.java:182) 在org。阿帕奇。埃尔。解析器。ELParser。表达式(ELParser.java:175) 在org。阿帕奇。埃尔。解析器。ELParser。DeferredExpression(ELParser.java:113) 在org。阿帕奇。埃尔。解析器。ELParser。CompositeExpression(ELParser.java:41) 在org。阿帕奇。埃尔。lang.ExpressionBuilder。createNodeInternal(ExpressionBuilder.java:111) 在org。阿帕奇。埃尔。lang.ExpressionBuilder。构建(ExpressionBuilder.java:168) 在org。阿帕奇。埃尔。lang.ExpressionBuilder。createValueExpression(ExpressionBuilder.java:232) 在org。阿帕奇。埃尔。ExpressionFactoryImpl。createValueExpression(ExpressionFactoryImpl.java:67) 在com。太阳面孔。小脸蛋。埃尔。ELText$ELTextVariable。应用(ELText.java:203) 在com。太阳面孔。小脸蛋。埃尔。ELText$ELTextComposite。应用(ELText.jav)a:184) 在com。太阳面孔。小脸蛋。编译器。评论说明。apply(CommentInstruction.java:81) 在com。太阳面孔。小脸蛋。编译器。UIInstructionHandler。应用(UIInstructionHandler.java:141) 在javax。面孔。看法小脸蛋。DelegatingMetaTagHandler。applyNextHandler(DelegatingMetaTagHandler.java:137) 在com。太阳面孔。小脸蛋。标签jsf。ComponentTagHandlerDelegateImpl。应用(ComponentTagHandlerDelegateImpl.java:190) 在javax。面孔。看法小脸蛋。DelegatingMetaTagHandler。apply(DelegatingMetaTagHandler.java:120) 在javax。面孔。看法小脸蛋。复合塞勒坦德勒。apply(CompositeFaceletHandler.java:95) 在com。太阳面孔。小脸蛋。编译器。名称空间处理器。apply(NamespaceHandler.java:93) 在com。太阳面孔。小脸蛋。编译器。编码处理器。apply(EncodingHandler.java:87) 在com。太阳面孔。小脸蛋。impl。DefaultFacelet。apply(DefaultFacelet.java:161) 在com。太阳面孔。应用看法FaceletViewHandlingStrategy。buildView(FaceletViewHandlingStrategy.java:972) 在com。太阳面孔。生命周期。渲染响应阶段。执行(RenderResponsePhase.java:99) 在com。太阳面孔。生命周期。阶段doPhase(Phase.java:101) 在com。太阳面孔。生命周期。生命周期。render(LifecycleImpl.java:219) 在javax。面孔。网络应用。FacesServlet。服务(FacesServlet.java:647) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。internalDoFilter(ApplicationFilterChain.java:292) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:207) 在org。阿帕奇。公猫websocket。服务器WsFilter。doFilter(WsFilter.java:52) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。internalDoFilter(ApplicationFilterChain.java:240) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:207) 在org。阿帕奇。卡塔琳娜。果心标准包装阀。调用(StandardWrapperValve.java:212) 在org。阿帕奇。卡塔琳娜。果心标准连接阀。调用(StandardContextValve.java:106) 在org。阿帕奇。卡塔琳娜。验证者。AuthenticatorBase。调用(AuthenticatorBase.java:502) 在org。阿帕奇。卡塔琳娜。果心标准阀门。调用(StandardHostValve.java:141) 在org。阿帕奇。卡塔琳娜。阀门。错误报告阀。调用(ErrorReportValve.java:79) 在org。阿帕奇。卡塔琳娜。阀门。抽象逻辑阀。调用(AbstractAccessLogValve.java:616) 在org。阿帕奇。卡塔琳娜。果心标准引擎版本。调用(StandardEngineValve.java:88) 在org。阿帕奇。卡塔琳娜。连接器。郊狼适应者。服务(CoyoteAdapter.java:528) 在org。阿帕奇。郊狼。http11。抽象http11处理器。进程(AbstractHttp11Processor.java:1100) 在org。阿帕奇。郊狼。AbstractProtocol$AbstractConnectionHandler。进程(AbstractProtocol.java:687) 在org。阿帕奇。公猫util。网NioEndpoint$SocketProcessor。doRun(NioEndpoint.java:1520) 在org。阿帕奇。公猫util。网NioEndpoint$SocketProcessor。运行(niodempendpoint.java:1476) 在爪哇。util。同时发生的线程池执行器。runWorker(未知源) 在爪哇。util。同时发生的线程池执行器$Worker。运行(未知源) 在org。阿帕奇。公猫util。线程。TaskThread$WrappingRunnable。运行(TaskThread.java:61) 在爪哇。朗。丝线。运行(未知源)
# 1 楼答案
哦,好的,现在可以了。 首先我有
这导致了同样的错误。 其次是注释块。 谢谢@balbus 你是野兽:)