jsf - javax.el.PropertyNotWritableException: /kaizenViewMANUF.xhtml @105,193 filterValue="#{kaizenView.currentUserSite()}": 集合操作的非法语法
问题描述
在我的应用程序中,我试图获取一个值并将其插入到 primefaces 数据表列的过滤器字段中,以便在页面加载时对其进行过滤。我通过在数据表列上使用“filterValue”属性来做到这一点。添加过滤器值属性并进行测试时,它可以工作,但会引发错误。我真的不在乎它会引发错误,但这是应用程序的主页,所以它会用这个错误填充日志,所以我觉得我应该解决它。我正在使用 jQuery 在填充数据表过滤器字段时进行实际过滤。
xhtml:
<p:column headerText="Location" sortBy="#{kaizen.site}" filterValue="#{kaizenView.currentUserSite()}" rendered="#{!kaizenView.isDealer()}" filterBy="#{kaizen.site}" style="width:80px;">
<h:outputText value="#{kaizen.site}"/>
</p:column>
控制器中被调用的方法:
public String currentUserSite() {
String userLocation = currentUser.currentUserlocationCity();
String prettyLocation = null;
if (userLocation.equals("East Syracuse")) {
prettyLocation = "Syracuse";
} else if (userLocation.equals("Greene")) {
prettyLocation = "Greene";
} else if (userLocation.equals("Muscatine")) {
prettyLocation = "Muscatine";
} else {
prettyLocation = "Greene";
}
return prettyLocation;
}
if语句中调用的方法
public String currentUserlocationCity() {
currentUserLocationCity = thisActiveUser.getLocationCity();
return currentUserLocationCity;
}
堆栈:
10:57:54,120 INFO [javax.enterprise.resource.webcontainer.jsf.context] (default task-34) javax.el.PropertyNotWritableException: /kaizenViewMANUF.xhtml @105,193 filterValue="#{kaizenView.currentUserSite()}": Illegal Syntax for Set Operation: javax.el.PropertyNotWritableException: /kaizenViewMANUF.xhtml @105,193 filterValue="#{kaizenView.currentUserSite()}": Illegal Syntax for Set Operation
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:136)
at org.primefaces.component.datatable.DataTable.processUpdates(DataTable.java:319)
at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:577)
at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
at org.primefaces.component.api.UIData.visitTree(UIData.java:874)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at javax.faces.component.UIForm.visitTree(UIForm.java:371)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:63)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:124)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:654)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.el.PropertyNotWritableException: Illegal Syntax for Set Operation
at com.sun.el.parser.AstValue.setValue(AstValue.java:228)
at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:294)
at org.jboss.weld.el.WeldValueExpression.setValue(WeldValueExpression.java:64)
at org.jboss.weld.el.WeldValueExpression.setValue(WeldValueExpression.java:64)
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
... 53 more
10:57:54,122 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-34) javax.el.PropertyNotWritableException: /kaizenViewMANUF.xhtml @105,193 filterValue="#{kaizenView.currentUserSite()}": Illegal Syntax for Set Operation
如果您需要查看任何其他代码,请告诉我。提前致谢!
解决方案
推荐阅读
- amazon-web-services - 为什么 AWS CLI list-subscriptions 命令的输出与 AWS 控制台中显示的不同?
- maven - 如何通过单个 pom.xml 创建多个程序集
- javascript - CORS 策略:请求的资源错误中不存在“Access-Control-Allow-Origin”标头
- angularjs - AngularJS基于带有单选按钮的文本字段创建过滤器作为搜索子类别
- spring - 为什么 Spring RestTemplate 在 Spring 中默认不是 Bean?
- excel - PowerShell 脚本要求输入密码并使用它来打开 excel 文件
- javascript - 从源代码显示 base64 图像 HTML
- themes - 在 Keycloak terms.ftl 中访问用户属性
- asp.net - 在 SQL 中的行数据的 asp.net 标签中显示 SUM
- macos - Mac OS Automator pdf to jpg 快速操作不起作用