I figured out the multiple field calls. I need to build back up to include the 
scroller again and see what's happening there now. I'm having a problem because 
rendered includes the component in the heirachy even though it's invalid. Let 
me see 
if I can fix it up with some <c:if>'s.

--
Rob

@objectsource.org


---------- Original Message -----------
From: Bill Dudney <[EMAIL PROTECTED]>
To: MyFaces Discussion <[email protected]>
Cc: MyFaces Discussion <[email protected]>
Sent: Mon, 25 Apr 2005 13:05:07 -0400
Subject: Re: myfaces has no respect for my forms boundaries

> Hi Rob,
> 
> I'm not sure what's happening so I'm guessing.
> 
> Its interesting that the set method is being called 3 times. I don't recall 
> why but I was getting a set method called twice before (but with the correct 
> value both times). Is it possible that more than one component is bound to 
> the 
> searchBean.searchValue property?
> 
> I don't follow what a 'scrollerLink' is.
> 
> HTH,
> 
> -bd-
> 
> On Monday, April 25, 2005, at 12:45PM, Rob Decker <[EMAIL PROTECTED]> wrote:
> 
> >I got rid of the tiles/subviews and decided to try this in one page. I 
> >removed the 
> >bottom scroller for now because the id's become duplicated if I put it in 
> >the page 
> >twice. So now I have one page/view and the problem still persists in the 
> >same way.
> >
> >--
> >Rob
> >
> >@objectsource.org
> >
> >
> >---------- Original Message -----------
> >From: "Rob Decker" <[EMAIL PROTECTED]>
> >To: "MyFaces Discussion" <[email protected]>
> >Sent: Mon, 25 Apr 2005 12:21:10 -0400
> >Subject: Re: myfaces has no respect for my forms boundaries
> >
> >> Actually it always calls the .setStart(null) method repeatedly no matter 
> >> the 
> >> scope (I haven't actually application scope and see no point in doing so). 
> >> I 
> >> just had it commented out the last run.
> >> 
> >> --
> >> Rob
> >> 
> >> @objectsource.org
> >> 
> >> ---------- Original Message -----------
> >> From: "Rob Decker" <[EMAIL PROTECTED]>
> >> To: "MyFaces Discussion" <[email protected]>
> >> Sent: Mon, 25 Apr 2005 12:14:33 -0400
> >> Subject: Re: myfaces has no respect for my forms boundaries
> >> 
> >> > If my bean scope is request (which is what I prefer since I have no need 
> >> > to 
> >> > store the search in session) the same thing happens as far as the first 
> >> > search 
> >> > working fine and the second getting overwritten somehow. In addition, my 
> >> > scroller links don't work because the action doesn't get called on the 
> >> > commandLink's, so it won't search at all. If I make it session then the 
> >> > scroller links work and what I see in the logs is
> >> > 
> >> > searchBean.setStart(null)
> >> > 
> >> > repeatedly when I click on a scroller link (doesn't happen when bean is 
> >> > request scope).
> >> > 
> >> > I guess it's doing that once for each form input value for start. It 
> >> > just 
> >> > reloads the page if I have the bean in request scope.
> >> > 
> >> > --
> >> > Rob
> >> > 
> >> > @objectsource.org
> >> > 
> >> > ---------- Original Message -----------
> >> > From: Bill Dudney <[EMAIL PROTECTED]>
> >> > To: MyFaces Discussion <[email protected]>
> >> > Cc: MyFaces Discussion <[email protected]>
> >> > Sent: Mon, 25 Apr 2005 12:05:13 -0400
> >> > Subject: Re: myfaces has no respect for my forms boundaries
> >> > 
> >> > > Hi Rob,
> >> > > 
> >> > > What scope is the backing bean (searchBean)? If its application or 
> >> > > session it 
> >> > > could be that it works the first time because nothing is set, on the 
> >> > > second 
> >> > > search the 'simple' search stuff is set as well as other stuff. A 
> >> > > potential 
> >> > > solution is to make the bean request scope.
> >> > > 
> >> > > HTH,
> >> > > 
> >> > > -bd-
> >> > > 
> >> > > On Monday, April 25, 2005, at 12:00PM, Rob Decker <[EMAIL PROTECTED]> 
wrote:
> >> > > 
> >> > > >There is some weird stuff that goes on when I do a search. I have two 
> >> > > >ways 
to 
> >do 
> >> > it, a 
> >> > > >quick search, which is just a link:
> >> > > >
> >> > > ><f:verbatim>&nbsp;New in last </f:verbatim>
> >> > > >   <h:form style="display:inline">
> >> > > >      <h:commandLink action="#{searchBean.search}">
> >> > > >         <h:outputText value="Day"/>
> >> > > >         <v:inputParam value="#{searchBean.searchType}" 
> >> > > > paramValue="QUICK"/>
> >> > > >         <v:inputParam value="#{searchBean.searchField}" 
> >> > > > paramValue="NAME"/>
> >> > > >         <v:inputParam value="#{searchBean.searchValue}" 
> >> > > > paramValue="*"/>
> >> > > >         <v:inputParam value="#{searchBean.created}" 
> >> > > > paramValue="BETWEEN"/>
> >> > > >         <v:inputParam value="#{searchBean.createdStartDate}" 
> >> > > > paramValue="#
> >> > > >{searchBean.yesterday}">
> >> > > >           <f:convertDateTime type="date" dateStyle="short"/>
> >> > > >         </v:inputParam>
> >> > > >         <v:inputParam value="#{searchBean.createdEndDate}" 
> >> > > > paramValue="#
> >> > > >{searchBean.currentDate}">
> >> > > >           <f:convertDateTime type="date" 
> >> > dateStyle="short"/>                        
> >> > > >         </v:inputParam>
> >> > > >      </h:commandLink>
> >> > > >   </h:form>
> >> > > >
> >> > > >Which works fine if the first search I do. Then I have an advanced 
> >> > > >search 
with 
> >> the 
> >> > > >fields broken out (not shown). It's on the same page and hidden/shown 
> >> > > >using 
> >> > > >javascript. It has separate <h:form> tags around it. It works on a 
> >> > > >first 
search 
> >> > too. 
> >> > > >Since the other code isn't shown until after the first search it may 
> >> > > >be part 
of 
> >> the 
> >> > > >problem.
> >> > > >
> >> > > >If I search a second time, and change the search parameters, say 
> >> > > >first I 
search 
> >> > > >for '*', which shows the results fine, then I change it to search 
for 'Test*' 
> >> > (which 
> >> > > >has 3 results). This what my logs show happen in the searchBeach:
> >> > > >
> >> > > >First search (with // comments):
> >> > > >
> >> > > >searchBean.setSearchValue(*) // sets the search value to * correctly
> >> > > >(NAME LIKE %) start=0 // these are a dump of the params
> >> > > >searchBean.search() // this is the search action
> >> > > >
> >> > > >Second search:
> >> > > >
> >> > > >searchBean.setSearchValue(Test*) // sets search value to Test* 
> >> > > >correctly
> >> > > >searchBean.setSearchValue(null) // sets search value to null for some 
> >> > > >reason
> >> > > >searchBean.setSearchValue(*) // sets search value to * for some reason
> >> > > >(NAME LIKE %) start=0 // dump of params
> >> > > >searchBean.search() // calls the search action
> >> > > >
> >> > > >It seems like after loading the bean correctly for a new search it 
> >> > > >decides 
to 
> >> reset 
> >> > > >the bean and load the previous search from some cache somewhere (?). 
> >> > > >
> >> > > >--
> >> > > >Rob
> >> > > >
> >> > > >@objectsource.org
> >> > > >
> >> > > >
> >> > > >---------- Original Message -----------
> >> > > >From: "Rob Decker" <[EMAIL PROTECTED]>
> >> > > >To: "MyFaces Discussion" <[email protected]>
> >> > > >Sent: Mon, 25 Apr 2005 11:39:24 -0400
> >> > > >Subject: Re: myfaces has no respect for my forms boundaries
> >> > > >
> >> > > >> Here's my jsp code. The code is included as a tiles definition in a 
subview 
> >> > > >> before and after the dataTable that displays the search results 
> >> > > >> like this:
> >> > > >> 
> >> > > >> <f:subview id="topScroller">
> >> > > >>     <tiles:insert name="scroller" flush="false"/>
> >> > > >> </f:subview>
> >> > > >> 
> >> > > >> The searchParams in the <h:outputText> are an <x:buffer> with 
<h:inputHidden> 
> >> > > >> for the search params.
> >> > > >> 
> >> > > >> scroller tile:
> >> > > >> 
> >> > > >> <h:panelGrid columns="3" columnClasses="resultsSummary, 
> >> > > >> resultsScroll, 
> >> > > >> resultsSummary" width="100%" styleClass="resultsCount" 
> >> > > >> rendered="#{!empty 
> >> > > >> searchBean.searchResults && searchBean.searchResults.total gt 0 && 
> >> > > >> (searchBean.searchType eq 'QUICK' || searchBean.searchType 
> >eq 'ADVANCED')}">   
> >> > > >>  <h:outputText value="Results #{searchBean.searchResults.start} to 
> >> > > >> # 
> >> > > >> {searchBean.searchResults.end} of 
> >> > > >> #{searchBean.searchResults.total}"/>   
> >> > > >>  <x:div style="display:inline">        <h:form 
style="display:inline">       
> >> > > >>  <h:commandLink action="#{searchBean.search}" id="fplink" 
> >> > > >> rendered="# 
> >> > > >> {searchBean.searchResults.start gt 
searchBean.searchResults.resultsPerPage}" 
> >> > > >> style="text-decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>             <h:outputText value=" << "/>
> >> > > >>             <v:inputParam value="#{searchBean.start}" paramValue="#
> >> > > >> {results.firstPage}"/>
> >> > > >>             <h:outputText value="#{searchParams}" escape="false"/>
> >> > > >>         </h:commandLink>
> >> > > >>         </h:form>
> >> > > >>         <h:outputText id="fp" value=" << " rendered="#{!
> >> > > >> (searchBean.searchResults.start gt 
> >searchBean.searchResults.resultsPerPage)}"/>
> >> > > >> 
> >> > > >>         <h:form style="display:inline">    
> >> > > >>         <h:commandLink action="#{searchBean.search}" id="pplink" 
rendered="#
> >> > > >> {searchBean.searchResults.start gt 1}" style="text-decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>             <h:outputText value=" < "/>
> >> > > >>             <v:inputParam value="#{searchBean.start}" paramValue="#
> >> > > >> {searchBean.searchResults.previousPage}"/>
> >> > > >>             <h:outputText value="#{searchParams}" escape="false"/>
> >> > > >>         </h:commandLink>
> >> > > >>         </h:form>
> >> > > >>         <h:outputText id="pp" value=" < " 
> >> > > >> rendered="#{!(searchBean.searchResults.start gt 1)}"/>
> >> > > >> 
> >> > > >>         <x:dataList id="bps" rendered="#{searchBean.beginning}" 
> >> > > >> value="#
> >> > > >> {searchBean.beginningPages}" var="pstart" rowIndexVar="rowIndex">
> >> > > >>             <h:form style="display:inline">
> >> > > >>             <h:commandLink action="#{searchBean.search}" rendered="#
{pstart 
> >lt 
> >> > > >> searchBean.searchResults.start or pstart gt 
> >> > > >> searchBean.searchResults.end}" 
> >> > > >> style="text- decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>                 <h:outputText value=" #{rowIndex+1} "/>
> >> > > >>                 <v:inputParam value="#{searchBean.start}" 
> >> > > >> paramValue="#
> >> {pstart}"/>
> >> > > >>                 <h:outputText value="#{searchParams}" 
> >> > > >> escape="false"/>
> >> > > >>             </h:commandLink>
> >> > > >>             </h:form>
> >> > > >>             <h:outputText value=" #{rowIndex+1} " 
> >> > > >> rendered="#{!(pstart lt 
> >> > > >> searchBean.searchResults.start) and !(pstart gt 
> >> searchBean.searchResults.end)}"/>
> >> > > >>         </x:dataList>
> >> > > >>         <h:outputText id="bpse" value=" ... " rendered="#
> >> {searchBean.beginning}"/>
> >> > > >>         <x:dataList id="mps" value="#{searchBean.middlePages}" 
var="pstart" 
> >> > > >> rowIndexVar="rowIndex">
> >> > > >>             <h:form style="display:inline">
> >> > > >>             <h:commandLink action="#{searchBean.search}" rendered="#
{pstart 
> >lt 
> >> > > >> searchBean.searchResults.start or pstart gt 
> >> > > >> searchBean.searchResults.end}" 
> >> > > >> style="text- decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>                 <h:outputText value=" 
> >> > > >> #{searchBean.begin+rowIndex+1} "/>
> >> > > >>                 <v:inputParam value="#{searchBean.start}" 
> >> > > >> paramValue="#
> >> {pstart}"/>
> >> > > >>                 <h:outputText value="#{searchParams}" 
> >> > > >> escape="false"/>
> >> > > >>             </h:commandLink>
> >> > > >>             </h:form>
> >> > > >>             <h:outputText value=" #{searchBean.begin+rowIndex+1} " 
rendered="#
> >{!
> >> > > >> (pstart lt searchBean.searchResults.start) and !(pstart gt 
> >> > > >> searchBean.searchResults.end)}"/>        </x:dataList>        
<h:outputText 
> >> > > >> id="epse" value=" ... " rendered="#{searchBean.ending}"/>        
<x:dataList 
> >> > > >> id="eps" rendered="#{searchBean.ending}" value="# 
{searchBean.endingPages}" 
> >> > > >> var="pstart" rowIndexVar="rowIndex" rowCountVar="rowCount">         
> >> > > >>    
> ><h:form 
> >> > > >> style="display:inline">            <h:commandLink 
> >> > > >> action="#{searchBean.search}" rendered="#{pstart lt 
> >> > > >> searchBean.searchResults.start or pstart gt 
> >> > > >> searchBean.searchResults.end}" 
> >> > > >> style="text- decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>                 <h:outputText value=" 
> >> > > >> #{searchBean.searchResults.numPages-
> >> > > >> (rowCount- rowIndex)+1} "/>                <v:inputParam 
> >> > > >> value="#{searchBean.start}" paramValue="#{pstart}"/>               
> >> > > >>  <h:outputText value="#{searchParams}" escape="false"/>            
> >> > </h:commandLink>
> >> > > >>             </h:form>
> >> > > >>             <h:outputText value=" 
> >> > > >> #{searchBean.searchResults.numPages-
> >> > > >> (rowCount- rowIndex)+1} " rendered="#{!(pstart lt 
> >> > > >> searchBean.searchResults.start) and !(pstart gt 
> >> searchBean.searchResults.end)}"/>
> >> > > >>         </x:dataList>
> >> > > >> 
> >> > > >>         <h:form style="display:inline">
> >> > > >>         <h:commandLink action="#{searchBean.search}" id="nplink" 
rendered="#
> >> > > >> {searchBean.searchResults.end lt searchBean.searchResults.total}" 
style="text-
> >> > > >> decoration:none" onmouseover="this.style.fontWeight='bold'" 
> >> > > >> onmouseout="this.style.fontWeight='normal'">
> >> > > >>             <h:outputText value=" > "/>
> >> > > >>             <v:inputParam value="#{searchBean.start}" paramValue="#
> >> > > >> {searchBean.searchResults.nextPage}"/>
> >> > > >>             <h:outputText value="#{searchParams}" escape="false"/>
> >> > > >>         </h:commandLink>
> >> > > >>         </h:form>
> >> > > >>         <h:outputText id="np" value=" > " 
> >> > > >> rendered="#{!(searchBean.searchResults.end lt 
> >> searchBean.searchResults.total)}"/>
> >> > > >> 
> >> > > >>         <h:form style="display:inline">
> >> > > >>         <h:commandLink action="#{searchBean.search}" id="lplink" 
rendered="#
> >> > > >> {searchBean.searchResults.end lt searchBean.searchResults.total-
> >> > > >> searchBean.searchResults.resultsPerPage}" 
> >> > > >> style="text-decoration:none" 
> >> > > >> onmouseover="this.style.fontWeight='bold'" 
> >> > > >onmouseout="this.style.fontWeight='normal'">
> >> > > >>             <h:outputText value=" >> "/>
> >> > > >>             <v:inputParam value="#{searchBean.start}" paramValue="#
> >> > > >> {searchBean.searchResults.lastPage}"/>
> >> > > >>             <h:outputText value="#{searchParams}" escape="false"/>
> >> > > >>         </h:commandLink>
> >> > > >>         </h:form>
> >> > > >>         <h:outputText id="lp" value=" >> " 
> >> > > >> rendered="#{!(searchBean.searchResults.end lt 
searchBean.searchResults.total-
> >> > > >> searchBean.searchResults.resultsPerPage)}"/>    </x:div>    
> >> > > >> <h:outputText 
> >> > value=""/>
> >> > > >> </h:panelGrid>
> >> > > >> 
> >> > > >> --
> >> > > >> Rob
> >> > > >> 
> >> > > >> @objectsource.org
> >> > > >> 
> >> > > >> ---------- Original Message -----------
> >> > > >> From: "Rob Decker" <[EMAIL PROTECTED]>
> >> > > >> To: "MyFaces Discussion" <[email protected]>
> >> > > >> Sent: Mon, 25 Apr 2005 10:04:57 -0400
> >> > > >> Subject: Re: myfaces has no respect for my forms boundaries
> >> > > >> 
> >> > > >> > Ok, give me an hour so to get to it. Thanks.
> >> > > >> >   ----- Original Message ----- 
> >> > > >> >   From: Bill Dudney 
> >> > > >> >   To: MyFaces Discussion 
> >> > > >> >   Cc: MyFaces Discussion 
> >> > > >> >   Sent: Monday, April 25, 2005 9:53 AM
> >> > > >> >   Subject: Re: myfaces has no respect for my forms boundaries
> >> > > >> > 
> >> > > >> >   Hi Rob,
> >> > > >> > 
> >> > > >> >   I too am using multiple forms on a single page without problems.
> >> > > >> > 
> >> > > >> >   Perhaps there is something wierd with your JSP code as Heath 
suggested? 
> >If 
> >> > > >> > you post some of it I'd be glad to take a look and see if 
> >> > > >> > anything 
obvious 
> >> > > >> > pops out.
> >> > > >> > 
> >> > > >> >   TTFN,
> >> > > >> > 
> >> > > >> >   -bd-
> >> > > >> > 
> >> > > >> >   On Monday, April 25, 2005, at 08:58AM, Heath Borders 
> >> > > >> > <[EMAIL PROTECTED]> wrote:
> >> > > >> > 
> >> > > >> >   >
> >> > > >> >   ><<Original Attached>>
> >> > > >> > 
> >> > > >> > -------------------------------------------------------------------------
---
> >--
> >> > > >> > 
> >> > > >> >   You must have some weird JSP code, because we're using multiple 
> >> > > >> > forms 
all 
> >> > > >> > over the place without any problems.  MyFaces should only process 
> >> > > >> > the 
JSF 
> >> tree 
> >> > > >> > beneath a submitted form.  All others will not be processed.
> >> > > >> > 
> >> > > >> >   On 4/22/05, Rob Decker <[EMAIL PROTECTED]> wrote: 
> >> > > >> >     I read in Kito Mann's book that you can have multiple forms 
> >> > > >> > per jsf 
> >page. 
> >> > > >> > So I have a    bunch of forms to implement my paginator. One for 
> >> > > >> > each 
page 
> >> > > >> > (plus a couple others). I     also have them twice (since it 
> >> > > >> > shows up 
top 
> >and 
> >> > > >> > bottom) by including a page fragment    with tiles.
> >> > > >> > 
> >> > > >> >     The thing is when a form is submitted (I click a commandLink 
> >> > > >> > in the 
> >form)
> >> > > >> >  it seems    like the inputs from all forms are collected up and 
> >> > > >> > set in 
the 
> >> > > >> > backing bean, not just     the form the commandLink/button is 
> >> > > >> > located in.
> >> > > >> > 
> >> > > >> >     I was going to use the dataScroller but it seems like it 
> >> > > >> > expects all 
> >the 
> >> > > >> > data to    loaded in order for it to work. I'm not using 
> >> > > >> > hibernate 
> >(although 
> >> > > >> > oracle has row limit     too). But I don't want to change my back 
> >> > > >> > end 
code.
> >> > > >> > 
> >> > > >> >     Is there a way to get myfaces to respect my form boundaries?
> >> > > >> > 
> >> > > >> >     --
> >> > > >> >     Rob
> >> > > >> > 
> >> > > >> >     @objectsource.org
> >> > > >> > 
> >> > > >> >   -- 
> >> > > >> >   -Heath Borders-Wing
> >> > > >> >   [EMAIL PROTECTED]
> >> > > >> ------- End of Original Message -------
> >> > > >------- End of Original Message -------
> >> > > >
> >> > > >
> >> > > >
> >> > ------- End of Original Message -------
> >> ------- End of Original Message -------
> >------- End of Original Message -------
> >
> >
> >
------- End of Original Message -------

Reply via email to