Interesting...

I can successfully evaluate one call to the node i.e. #{navItem.rendered}

The problem is trying to and two node calls in the same expression i.e. 
#{navItem.rendered && navItem.authorized}

I don't have the option of using the menu model, because the rendered tag 
really is based on values for each node.  Each node has completely different 
criteria to judge whether or not it should be rendered.  It is interesting that 
in your example you only had one node call, but it was somehow unsuccessful.


JB

-----Original Message-----
From: Günther, Thorsten [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, October 17, 2006 4:52 AM
To: [email protected]
Subject: AW: Node Stamp Facet, af:commandNavigationItem rendered attribute, and 
boolean operators

Hi Jonathan!

I have the same problem here. In my experience any kind of request in rendered 
against the "node" evaluates to false. Requests against the menuModel work like 
expected. So 

            <tr:page var="node" value="#{menuModel.model}">
            <f:facet name="nodeStamp">
              <tr:commandNavigationItem text="#{node.label}" 
action="#{node.getOutcome}" immediate="true" rendered="#{menuModel.rendered and 
menuModel.everTrue}" />
            </f:facet>

is ok, but 

            <tr:page var="node" value="#{menuModel.model}">
            <f:facet name="nodeStamp">
              <tr:commandNavigationItem text="#{node.label}" 
action="#{node.getOutcome}" immediate="true" rendered="#{node.everTrue}" />
            </f:facet>

evaluates to false.
I also worked around this via the menuModel. At the time where I encountered 
this I thought this would be because me getting something wrong. So I did not 
look in this issue any further and did not report it, what I do regret now.

Regards,
Thorsten


-----Ursprüngliche Nachricht-----
Von: Baker,Jonathan [mailto:[EMAIL PROTECTED]
Gesendet: Montag, 16. Oktober 2006 23:15
An: [email protected]
Betreff: Node Stamp Facet, af:commandNavigationItem rendered attribute, and 
boolean operators

I am using the af:page component.  Inside of the NodeStamp facet I am 
referencing a af:commandNavigationItem with a rendered attribute.
Inside of the rendered attribute I am calling two methods on the same backing 
bean and ANDing them together.  For some reason this makes my navigation 
hierarchy disappear.

If the rendered attribute looks like this #{navItem.rendered} it works 
correctly If the rendered attribute looks like this #{navItem.authorized} it 
works correctly If the rendered attribute looks like this #{navItem.rendered && 
navItem.authorized} then nothing is rendered even though both values = true.

I have used the same combination outside of the node stamp facet and the 
components are rendered correctly, so it is somehow related to how the 
nodestamp facet of the page component is rendered.  

As a work-around I have created a method in my backing bean that performs the 
anding of the two methods, so that is not a problem, I just preferred to have 
these two methods separated as they stand for two different sets of criteria.


JB


Reply via email to