[
http://jira.jboss.com/jira/browse/JBSEAM-1225?page=comments#action_12360216 ]
Christian Bauer commented on JBSEAM-1225:
-----------------------------------------
Did you try the expression? If you want to exactly duplicate what I did, go into
/examples/wiki/view, edit userHome.xhtml and replace this:
<s:div rendered="#{s:hasPermission('User',
'isAdmin', currentUser)
and userHome.instance.id != adminUser.id
and userHome.instance.id != guestUser.id
and userHome.instance.id !=
currentUser.id}">
<s:div styleClass="entry">
<div class="label"> </div>
<div class="input">
<h:selectBooleanCheckbox
value="#{userHome.instance.activated}" tabindex="6"/>
Account is active
</div>
</s:div>
</s:div>
With the broken expressions. Then try to edit a user (Members -> Find -> Edit as
logged in 'admin').
JBoss EL has issues with boolean expressions
--------------------------------------------
Key: JBSEAM-1225
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1225
Project: JBoss Seam
Issue Type: Bug
Components: Core
Reporter: Christian Bauer
Assigned To: Pete Muir
Priority: Minor
Not sure this is critical and in fact, not even sure that this is supposed to work. I
wrote this rather stupid expression which JBoss EL doesn't like:
<s:div rendered="#{s:hasPermission('User',
'isAdmin', currentUser)
and not userHome.instance.id == adminUser.id
and not userHome.instance.id ==
guestUser.id}">
The exception is rather strange:
java.lang.NoClassDefFoundError
org.jboss.el.lang.ELSupport.coerceToBoolean(ELSupport.java:177)
org.jboss.el.parser.AstNot.getValue(AstNot.java:27)
org.jboss.el.parser.AstEqual.getValue(AstEqual.java:21)
org.jboss.el.parser.AstAnd.getValue(AstAnd.java:26)
org.jboss.el.parser.AstAnd.getValue(AstAnd.java:21)
org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:276)
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:262)
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:284)
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:262)
org.richfaces.renderkit.html.PanelBarItemRenderer.doEncodeChildren(PanelBarItemRenderer.java:136)
org.richfaces.renderkit.html.PanelBarItemRenderer.doEncodeChildren(PanelBarItemRenderer.java:131)
org.ajax4jsf.framework.renderer.RendererBase.encodeChildren(RendererBase.java:121)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:282)
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:262)
org.richfaces.renderkit.html.PanelBarRenderer.doEncodeChildren(PanelBarRenderer.java:148)
org.richfaces.renderkit.html.PanelBarRenderer.doEncodeChildren(PanelBarRenderer.java:143)
org.ajax4jsf.framework.renderer.RendererBase.encodeChildren(RendererBase.java:121)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:571)
org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:229)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:395)
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:53)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira