Put a breakpoint on the method that the rendered call is checking.  My guess is that its rendered when the page is rendering and not rendered when the page is decoding.

On Apr 11, 2005 8:04 PM, Ray Clark <[EMAIL PROTECTED]> wrote:
I am using MyFaces 1.0.8 for my page and the rendered
attribute for the commandButton seems to work just
fine.

Here is my commandButton on the JSP:

<h:commandButton id="addButton"
action="">rendered="#{taskBean.rendered}" value="Add"/>

Here are the managed bean methods:

public boolean isRendered() {
       return true;
}

public String addTaskButton() {
       TaskBO taskBo = TaskBO.getInstance();
       try {
               // do nothing for this example
       } catch (Exception e) {
               logger.error(e.getMessage(), e);
               return "internalError";
       }
       ApplicationUtils.setUserMessageByResourceKey(
               "com.javawebapps.todolist.infomsg.addSuccess");
       task = null;
       return "taskNew";
}

The addTaskButton method gets called every time that I
press the button.  One thing though, I have client
side state saving and the bean has session scope.

I know this didn't answer your question but maybe this
will help.

--- CupertinoIndian <[EMAIL PROTECTED]> wrote:
>
> Allright, I found the source of the problem. I also
> have a web project (wsad
> project) where I can reproduce this easily.
>
> Anyway here is the problem. I have a JSP called
> dummy.jsp which is as follows:
>
------------------------------------------------------------------------
> <%@ page contentType="text/html" %>
>
> <%@ taglib uri="http://java.sun.com/jsf/html"
> prefix="h" %>
> <%@ taglib uri="http://java.sun.com/jsf/core"
> prefix="f" %>
>
> <HTML>
>
> <BODY>
> <f:view>
>       <h:form>
>               <!-- jsp:include page="header.jsp" / -->
>
>               <h:panelGrid columns="2">
>
>                       <h:outputText value="Process" />
>                       <h:outputText
> value="#{clientTaskHandler.clientTask.process}" />
>                       <h:outputText value="Name" />
>                       <h:outputText
> value="#{clientTaskHandler.clientTask.name}" />
>                       <h:outputText value="Id" />
>                       <h:outputText
> value="#{clientTaskHandler.clientTask.id}"
> />
>               </h:panelGrid>
>
>       <h:commandButton id="nextButton" value="Next"
> action="">> rendered="#{clientTaskHandler.renderNext}" />
>
>       </h:form>
>       </table>
> </f:view>
> </body>
> </html>
>
------------------------------------------------------------------------
>
> Very simple JSP right? Now focus on the command
> button. The problem is in the
> clause
> rendered="#{clientTaskHandler.renderNext}"
> The button is rendered correctly as
> clientTaskHandler.isRenderNext() returns
> true. So far so good? Now if I click the button, the
> action
> clientTaskHandler.navNext() is NEVER CALLED. The JSP
> is displayed again with
> null values.
>
> I tried to change
> rendered="#{clientTaskHandler.renderNext}"
> to
> rendered="true"
> and guess what? Everything works fine!!
>
> So basically if the rendered value is pulled from an
> _expression_, the rendering
> is improper and clicking the button does not invoke
> the specified action.
> However if rendered value is statically specified on
> the page, everything works
> fine.
>
> If you need the war file, I can easily export one
> for you.
>
> Thanks for help.
>
>
>

__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/



--
-Heath Borders-Wing
[EMAIL PROTECTED]

Reply via email to