具有EL方法参数的命令按钮不调用操作方法 [英] Command button with EL method argument does not invoke action method
问题描述
我正在尝试通过将主键userId作为EL方法参数通过命令按钮发送到我的托管bean来删除数据库条目。看起来像
Bean:
@ManagedBean
@ RequestScoped
public class HibernateUserHandling
{
...
public void deleteUser(String userIdViaXhtml)
{
会话session = sessionFactory.openSession();
session.beginTransaction();
session.createQuery(DELETE FROM AddressDetails WHERE USERID =:userIdViaXhtml);
session.createQuery(DELETE FROM UserDetails WHERE USERID =:userIdViaXhtml);
session.getTransaction()。commit();
session.close();
}
...
}
查看: p>
< html>
< body>
< ui:composition template =./ generalTemplate.xhtml
xmlns =http://www.w3.org/1999/xhtml
xmlns:h =http: //java.sun.com/jsf/html
xmlns:f =http://java.sun.com/jsf/core
xmlns:ui =http:// java。 sun.com/jsf/facelets\">
< ui:define name =content>
< h:outputStylesheet library =cssname =cssHibernate.css/>
< h:form id =main>
< h:dataTable value =#{hibernateDataOutput.persons}var =list
styleClass =order-table
headerClass =order-table-header
rowClasses =order-table-odd-row,order-table-even-row>
...
< f:facet name =header> Delete< / f:facet>
< h:commandButton id =userIdaction =#{hibernateUserHandling ['deleteUser(list.userId)']}image =delete.jpg/>
< / h:column>
< / h:dataTable>
...
< / h:form>
< / ui:define>
< / ui:composition>
< / body>
< / html>
我测试了更多的方法,例如通过将值转换为bean中的一个独立变量,就像在inputText中一样,但没有任何效果。
我认为我有一个完全错误的基本方法。
我收到以下错误:
/hibernate.xhtml @ 39,137 action =# {hibernateUserHandling.deleteUser(list.userId)}无法解析表达式[#{hibernateUserHandling.deleteUser(list.userId)}]
堆栈跟踪:
javax.faces.view.facelets.TagAttributeException:/hibernate.xhtml @ 39137 action =#{hibernateUserHandling.deleteUser(list.userId)}无法解析表达式[#{hibernateUserHandling.deleteUser(list.userId)}]
在com.sun.faces.facelets.tag.TagAttributeImpl .getMethodExpression(TagAttributeImpl.java:232)
在com.sun.faces.facelets.tag.jsf.ActionSourceRule $ ActionMapper2.applyMetadata(ActionSourceRule.java:104)
在com.sun.faces.facelets .tag.MetadataImpl.applyMetadata(M etadataImpl.java:81)
在javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
在javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java: 102)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:402)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply( ComponentTagHandlerDelegateImpl.java:159)
在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java: 98)
在javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java: 188)
在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在javax.faces .view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
在javax.faces .view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在javax.faces.view.facelets .DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
在javax.faces.view.facelets指示MetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在com.sun.faces.facelets.tag.ui。 DefineHandler.applyDefinition(DefineHandler.java:103)
在com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:178)
在com.sun.faces.facelets。 impl.DefaultFaceletContext $ TemplateManager.apply(DefaultFaceletContext.java:395)
在com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
在com.sun.faces。 facelets.tag.ui.InsertHandler.apply(InsertHandler.java:108)
在javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
在com.sun.faces。 facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
在javax.faces.vie w.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在javax.faces.view.facelets。 DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
在javax.faces.view.facelets。 DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在com.sun.faces.facelets.compiler.NamespaceHandler。 apply(NamespaceHandler.java:93)
在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
在com.sun.faces.facelets.compiler.EncodingHandler.apply( EncodingHandler.java:86)
在com.sun.fa ces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)
在com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)
在com.sun。 faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)
在com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
在com.sun。 faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
在com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
在com。 sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)
at com。 sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:769)
在com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100 )
在com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
在com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
在javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
在org.apache。 catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在org.apache.catalina.core。 StandardContextValve.invoke(StandardContextValve.java:191)
在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
在org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:102)
在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
a t org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
在org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
在org.apache .coyote.http11.Http11AprProtocol $ Http11ConnectionHandler.process(Http11AprProtocol.java:594)
在org.apache.tomcat.util.net.AprEndpoint $ Worker.run(AprEndpoint.java:1675)
在java .lang.Thread.run(Thread.java:619)
导致:javax.el.ELException:无法解析表达式[#{hibernateUserHandling.deleteUser(list.userId)}]
在org .apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:146)
在org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:172)
在org.apache.el .lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:223)
在org.apache.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:57)
在com.sun.faces.facelets.tag.TagAttributeImpl.getMethodExpression(TagAttributeImpl.java:222)
... 61更多
导致:org.apache.el.parser.ParseException:遇到 ((在第1行,第35列。
期待以下之一:
}...
。 ...
[...
> ...
gt...
< ...
lt...
> =...
ge...
< =...
le...
==...
eq...
!=...
ne...
&& ...
和...
|| ...
或...
*...
+...
- ...
/ ...
div...
%...
mod...
在org.apache.el.parser。 ELParser.generateParseException(ELParser.java:2142)
在org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024)
在org.apache.el.parser.ELParser.DeferredExpression( ELParser.java:113)
在org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:40)
在org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java: 114)
... 65更多
您的Facelet组合是错误的。 < ui:composition>
之外的任何内容在最终视图中被忽略,模板客户端内容需要进入< ui:define>
。您的< h:form>
模板定义< ui:define>
,所以它不包括在最终的视图中,因此按钮没有任何形式提交,他们根本看起来似乎不起作用。
重新排列您的Facelet模板客户端,如下所示:
< ui:composition template =./ generalTemplate.xhtml
xmlns =http://www.w3.org/1999/xhtml
xmlns:h =http://java.sun.com/jsf/html
xmlns:f = http://java.sun.com/jsf/core
xmlns:ui =http://java.sun.com/jsf/facelets>
< ui:define name =content>
< h:outputStylesheet library =cssname =cssHibernate.css/>
< h:form id =main>
< h:dataTable value =#{hibernateDataOutput.persons}var =list
styleClass =order-table
headerClass =order-table-header
rowClasses =order-table-odd-row,order-table-even-row>
< h:column>
< f:facet name =header>删除< / f:facet>
< h:commandButton id =userIdaction =#{hibernateUserHandling.deleteUser(list.userId)}image =delete.jpg/>
< / h:column>
< / h:dataTable>
< / h:form>
< / ui:define>
< / ui:composition>
另请参见:
与您的具体问题无关,Hibernate代码有缺陷。但是这是一个不同的问题。
更新:根据您编辑的stacktrace之后在问题中,
导致:javax.el.ELException:无法解析表达式[#{hibernateUserHandling.deleteUser list.userId)}]
显然你的环境根本不支持EL 2.2。您需要确保 web.xml
声明符合Servlet 3.0 API,并且您正在部署到与Servlet 3.0兼容的servlet容器(例如Tomcat 7,Glassfish 3, JBoss AS 6等)。
另请参见:
I am trying to delete a database entry by sending the primary key "userId" as EL method argument via a command button to my managed bean.
My current code looks like
Bean:
@ManagedBean
@RequestScoped
public class HibernateUserHandling
{
...
public void deleteUser(String userIdViaXhtml)
{
Session session = sessionFactory.openSession();
session.beginTransaction();
session.createQuery("DELETE FROM AddressDetails WHERE USERID = :userIdViaXhtml");
session.createQuery("DELETE FROM UserDetails WHERE USERID = :userIdViaXhtml");
session.getTransaction().commit();
session.close();
}
...
}
View:
<html>
<body>
<ui:composition template="./generalTemplate.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="content">
<h:outputStylesheet library="css" name="cssHibernate.css" />
<h:form id="main">
<h:dataTable value="#{hibernateDataOutput.persons}" var="list"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row">
...
<f:facet name="header">Delete</f:facet>
<h:commandButton id="userId" action="#{hibernateUserHandling['deleteUser(list.userId)']}" image="delete.jpg" />
</h:column>
</h:dataTable>
...
</h:form>
</ui:define>
</ui:composition>
</body>
</html>
I tested more ways, e.g. via getting the value to a seperate variable in the bean like in a inputText, but nothing worked.
I think I got a totally wrong basic approach.
I get the following error:
/hibernate.xhtml @39,137 action="#{hibernateUserHandling.deleteUser(list.userId)}" Failed to parse the expression [#{hibernateUserHandling.deleteUser(list.userId)}]
Stack trace:
javax.faces.view.facelets.TagAttributeException: /hibernate.xhtml @39,137 action="#{hibernateUserHandling.deleteUser(list.userId)}" Failed to parse the expression [#{hibernateUserHandling.deleteUser(list.userId)}]
at com.sun.faces.facelets.tag.TagAttributeImpl.getMethodExpression(TagAttributeImpl.java:232)
at com.sun.faces.facelets.tag.jsf.ActionSourceRule$ActionMapper2.applyMetadata(ActionSourceRule.java:104)
at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:402)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:159)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:103)
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:178)
at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:108)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:188)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)
at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:769)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: Failed to parse the expression [#{hibernateUserHandling.deleteUser(list.userId)}]
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:146)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:172)
at org.apache.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:223)
at org.apache.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:57)
at com.sun.faces.facelets.tag.TagAttributeImpl.getMethodExpression(TagAttributeImpl.java:222)
... 61 more
Caused by: org.apache.el.parser.ParseException: Encountered " "(" "( "" at line 1, column 35.
Was expecting one of:
"}" ...
"." ...
"[" ...
">" ...
"gt" ...
"<" ...
"lt" ...
">=" ...
"ge" ...
"<=" ...
"le" ...
"==" ...
"eq" ...
"!=" ...
"ne" ...
"&&" ...
"and" ...
"||" ...
"or" ...
"*" ...
"+" ...
"-" ...
"/" ...
"div" ...
"%" ...
"mod" ...
at org.apache.el.parser.ELParser.generateParseException(ELParser.java:2142)
at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:2024)
at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:113)
at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:40)
at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:114)
... 65 more
Your Facelet composition is wrong. Anything outside <ui:composition>
is ignored in final view and the template client content needs to go inside <ui:define>
. You have the <h:form>
outside the template definition <ui:define>
, so it is not included in the final view and hence the buttons don't have any form to submit and they just won't seem to work at all.
Rearrange your Facelet template client as follows:
<ui:composition template="./generalTemplate.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="content">
<h:outputStylesheet library="css" name="cssHibernate.css" />
<h:form id="main">
<h:dataTable value="#{hibernateDataOutput.persons}" var="list"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row">
<h:column>
<f:facet name="header">Delete</f:facet>
<h:commandButton id="userId" action="#{hibernateUserHandling.deleteUser(list.userId)}" image="delete.jpg" />
</h:column>
</h:dataTable>
</h:form>
</ui:define>
</ui:composition>
See also:
- h:commandLink / h:commandButton is not being invoked
- How to include another XHTML in XHTML using JSF 2.0 Facelets?
Unrelated to your concrete problem, the Hibernate code is flawed. But that's subject to a different question.
Update: as per the stacktrace which you edited afterwards in the question,
Caused by: javax.el.ELException: Failed to parse the expression [#{hibernateUserHandling.deleteUser(list.userId)}]
Apparently your environment does not support EL 2.2 at all. You need to make sure that the web.xml
is declared conform Servlet 3.0 API and that you're deploying to a Servlet 3.0 compatible servlet container (e.g. Tomcat 7, Glassfish 3, JBoss AS 6, etc).
See also:
这篇关于具有EL方法参数的命令按钮不调用操作方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!