Ahhhh, ok. I see now.  Thanks.

Gregg

On 8/12/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> The difference is that showNext doesn't depend on values in the
> request-scoped bean.
> It depends on values in the component tree (which is the same as
> adding a value to the component tree using t:saveState).
> 
> On 8/12/05, Gregg D Bolinger <[EMAIL PROTECTED]> wrote:
> > Ok, I've been doing a little bit more research and I don't think it's
> > as simple as "it doesn't work that way".  I was going through JSF In
> > Action looking for something else and ran across this example.  You'll
> > have to forgive the crappy formatting. I copied this from the PDF.
> > However, if you'll notice, the bean is in request scope.  There are
> > previous and next buttons that are rendered depedning on if there are
> > records before or after the current index.  They use method binding to
> > actionListener methods in the backing bean.  So according to the
> > statements from you this shouldn't work either.  But I know it does.
> >
> > <managed-bean>
> > <description>Pages through history list.</description>
> > <managed-bean-name>showHistoryBean</managed-bean-name>
> > <managed-bean-class>
> > org.jia.ptrack.web.ShowHistoryBean
> > </managed-bean-class>
> > <managed-bean-scope>request</managed-bean-scope>
> > <managed-property>
> > <property-name>rowsPerPage</property-name>
> > <value>3</value>
> > </managed-property>
> > <managed-property>
> > <property-name>visit</property-name>
> > <value>#{sessionScope.visit}</value>
> > </managed-property>
> > <managed-property>
> > <property-name>projectCoordinator</property-name>
> > <value>#{applicationScope.projectCoordinator}</value>
> > </managed-property>
> > <managed-property>
> > <property-name>statusCoordinator</property-name>
> > <value>#{applicationScope.statusCoordinator}</value>
> > </managed-property>
> > <managed-property>
> > <property-name>userCoordinator</property-name>
> > <value>#{applicationScope.userCoordinator}</value>
> > </managed-property>
> > </managed-bean>
> >
> > <h:dataTable cellpadding="5" styleClass="table-background"
> > value="#{showHistoryBean.currentProjectHistory}"
> > var="operation"
> > binding="#{showHistoryBean.historyDataTable}"
> > rows="#{showHistoryBean.rowsPerPage}">
> > <h:column>
> > <h:panelGrid columns="1" width="100%" border="1"
> > styleClass="table-even-row">
> > ...
> > <h:outputText value="#{operation.timestamp}">
> > <f:convertDateTime dateStyle="full" timeStyle="short"/>
> > </h:outputText>
> > <h:outputText
> > value="#{operation.fromStatus} -> #{operation.toStatus}"/>
> > <h:outputText value="(#{operation.user.role})"/>
> > ...
> > <h:outputText value="Comments:"/>
> > <h:outputText value="#{operation.comments}"
> > styleClass="project-data"/>
> > ...
> > </h:panelGrid>
> > </h:column>
> > <f:facet name="footer">
> > <h:panelGroup>
> > <h:commandLink actionListener="#{showHistoryBean.previous}"
> > rendered="#{showHistoryBean.showPrevious}"
> > style="padding-right: 5px;">
> > <h:outputText value="Previous"/>
> > </h:commandLink>
> > <h:commandLink actionListener="#{showHistoryBean.next}"
> > rendered="#{showHistoryBean.showNext}">
> > <h:outputText value="Next"/>
> > </h:commandLink>
> > </h:panelGroup>
> > </f:facet>
> > </h:dataTable>
> >
> > public class ShowHistoryBean extends BaseBean
> > {
> > private int rowsPerPage = 5;
> > private UIData historyDataTable;
> > public ShowHistoryBean()
> > {
> > }
> > public UIData getHistoryDataTable()
> > {
> > return historyDataTable;
> > }
> > public void setHistoryDataTable(UIData historyDataTable)
> > {
> > this.historyDataTable = historyDataTable;
> > }
> > public int getRowsPerPage()
> > {
> > return rowsPerPage;
> > }
> > public void setRowsPerPage(int rowsPerPage)
> > {
> > this.rowsPerPage = rowsPerPage;
> > }
> > public List getCurrentProjectHistory()
> > {
> > return getVisit().getCurrentProject().getHistory();
> > }
> > public boolean getShowNext()
> > {
> > return (historyDataTable.getFirst() +
> > rowsPerPage) <
> > getCurrentProjectHistory().size();
> > }
> > public boolean getShowPrevious()
> > {
> > return (historyDataTable.getFirst()—
> > rowsPerPage) >= 0;
> > }
> > public void next(ActionEvent actionEvent)
> > {
> > int newFirst =
> > historyDataTable.getFirst() + rowsPerPage;
> > if (newFirst <
> > getCurrentProjectHistory().size())
> > {
> > historyDataTable.setFirst(newFirst);
> > }
> > }
> > public void previous(ActionEvent actionEvent)
> > {
> > int newFirst =
> > historyDataTable.getFirst() - rowsPerPage;
> > if (newFirst >= 0)
> > {
> > historyDataTable.setFirst(newFirst);
> > }
> > }
> > }
> >
> > On 8/12/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > > You are welcome!
> > >
> > > regards,
> > >
> > > Martin
> > >
> > > On 8/12/05, Gregg D Bolinger <[EMAIL PROTECTED]> wrote:
> > > > BTW - I used saveState for the updateMode and it works good.  I can't
> > > > think you all enough for digging through this for me.
> > > >
> > > > Gregg
> > > >
> > > > On 8/12/05, Gregg D Bolinger <[EMAIL PROTECTED]> wrote:
> > > > > Ok guys.  Thanks for the help, although it wasn't what I was looking
> > > > > for.  I really appriciate it.  I'll look into using saveState to fix
> > > > > my issue.  I really don't want this in session scope because when I
> > > > > come back to the page, it requires too much cleanup.
> > > > >
> > > > > Thanks again.
> > > > >
> > > > > Gregg
> > > > >
> > > > > On 8/12/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > > If you create the bean request scope, the value of rendered for your
> > > > > > update button is always false, from what code you've posted.
> > > > > >
> > > > > > So even though it was true long enough to draw the button on your 
> > > > > > html
> > > > > > response, it's now out of sync when you resubmit a request.   Your
> > > > > > html treats it as if it were "rendered", but your server state shows
> > > > > > it as not-rendered.   Actions submitted from non-rendered buttons 
> > > > > > are
> > > > > > ignored (I'm basing this on how everything about a non-rendered
> > > > > > component is ignored, not because I've actually researched and 
> > > > > > proven
> > > > > > the issue).
> > > > > >
> > > > > > -Mike
> > > > > >
> > > > > > On 8/12/05, Gregg D Bolinger <[EMAIL PROTECTED]> wrote:
> > > > > > > Technically, the problem isn't solved yet.  Why won't this work in
> > > > > > > request scope?  actionListeners don't get brand new beans in the 
> > > > > > > true
> > > > > > > sense of a page being requested for the very first time.  If I 
> > > > > > > have an
> > > > > > > inputText with a name in it and an actionListener on a button, 
> > > > > > > when I
> > > > > > > press that button, the text is still in the textfield when the 
> > > > > > > page
> > > > > > > refreshes.  The point is, when in request scope, the 
> > > > > > > commandButton is
> > > > > > > not registering the binding on the method for the non-rendered
> > > > > > > component, even when it is set to render on refresh.  That doesn't
> > > > > > > make sense?
> > > > > > >
> > > > > > > Can one of you try it in request scope and tell me what happens?
> > > > > > >
> > > > > > > Gregg
> > > > > > >
> > > > > > > On 8/12/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > > > > Yeah, obviously you knew what you were doing since you helped 
> > > > > > > > solve
> > > > > > > > the problem :)
> > > > > > > > Me and my big mouth :)
> > > > > > > >
> > > > > > > > -Mike
> > > > > > > >
> > > > > > > >
> > > > > > > > On 8/12/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > > > > > > > > I am conentrating very much on exactly this aspect ;)
> > > > > > > > >
> > > > > > > > > regards,
> > > > > > > > >
> > > > > > > > > Martin
> > > > > > > > >
> > > > > > > > > On 8/12/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > I wrote,
> > > > > > > > > > >> What happens if you dump the render statement?
> > > > > > > > > >
> > > > > > > > > > On 8/12/05, Gregg D Bolinger <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > >Then the update  method is called just fine.
> > > > > > > > > >
> > > > > > > > > > I'd say this it the point to concentrate on.  Not sure why 
> > > > > > > > > > you and
> > > > > > > > > > Martin are looking at other things.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > >
> > > > > > > > > http://www.irian.at
> > > > > > > > > Your JSF powerhouse -
> > > > > > > > > JSF Trainings in English and German
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > >
> > > http://www.irian.at
> > > Your JSF powerhouse -
> > > JSF Trainings in English and German
> > >
> >
>

Reply via email to