This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes JSF and the fly likes Command Button Action not fired---Strange Issue Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » JSF
Bookmark "Command Button Action not fired---Strange Issue" Watch "Command Button Action not fired---Strange Issue" New topic
Author

Command Button Action not fired---Strange Issue

Shasi Mitra
Ranch Hand

Joined: Nov 27, 2008
Posts: 101

This is my code
<t:commandButton value="View Previous Year's History" rendered = "#{ myBean.paymentYear == 'C' }" action="#{myBean.doAction}"/>

The action is not fired in this case. But in all the following cases action is fired

1. If i give <t:commandButton value="View Previous Year's History" rendered = "true" action="#{myBean.doAction}"/>
2. Or if i put the scope of my backing bean as session, action is fired
3. Or if i give
<t:saveState id="test" value="#{myBean.paymentYear }"/> also the action is fired..
I have no clue. Can anybody help?
Bauke Scholtz
Ranch Hand

Joined: Oct 08, 2006
Posts: 2458
You need to make sure that the rendered attribtue evaluates true when the action method is to be determined (during apply request values phase of the subsequent request). So if #{myBean.paymentYear} should be retained in the next request, you need to wrap it in a h:inputHidden or, as you already found out, the t:saveState.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Command Button Action not fired---Strange Issue