I have following sample code. Initially, only commandButton Two is visible. When I click this button, commandButton One is also visible. But when I click One, the backing-bean method click1 does not get fired.
Following is my code:
xhtml
<h:form id="form1">
    <h:inputHidden id="show" value="#{bean.show1}" />
    <h:commandButton id="button1" value="One" action="#{bean.click1}"
        rendered="#{bean.show1}" />
</h:form>
<h:form id="form2">
    <h:inputHidden id="show" value="#{bean.show1}" />
    <h:commandButton id="button2" value="Two" action="#{bean.click2}" />
</h:form>
backing-bean
@RequestScoped
@Named("bean")
public class JsfTrial implements Serializable {
    private static final long serialVersionUID = 2784462583813130092L;
    private boolean show1; // + getter, setter
    public String click1() {
        System.out.println("Click1()");
        return null;
    }
    public String click2() {
        System.out.println("Click2()");
        setShow1(true);
        return null;
    }
}
I found a very informative answer by BalusC.
If I understand it correctly, my problem is due to point 5 of this answer.
Does that also mean we can not use hidden commandButton with @RequestScoped backing-bean?