Hi,

This is something I made based on "blog" example from seam 2.0.0GA (the one I 
use).

I have such component in my app:

@Name("search")
  | public class SearchBean {
  | 
  |     private String province;
  | 
  |     private String category;
  | 
  |     @Factory("searchResults")
  |     public List<Article> search() throws InkaSearchException {
  |             //get articles based on province and category.
  |     }
  | 
  |     public String getProvince() {
  |             return province;
  |     }
  | 
  |     public void setProvince(String province) {
  |             this.province = province;
  |     }
  | 
  |     public String getCategory() {
  |             return category;
  |     }
  | 
  |     public void setCategory(String category) {
  |             this.category = category;
  |     }
  | 
  | }

search.jsp page looks like this:

<h:form>
  |     <h:selectOneMenu value="#{search.category}">
  |             <s:selectItems var="category" value="#{categories}"/>
  |     </h:selectOneMenu>
  |     <h:selectOneMenu value="#{search.province}">
  |             <s:selectItems var="province" value="#{provinces}"/>
  |     </h:selectOneMenu>
  |     <h:commandButton value="Szukaj" action="search"/>
  | </h:form>
  | <h:dataTable var="art" value="#{searchResults}">
  |     <!-- display search results -->
  | </h:dataTable>

And this is pages.xml file fragment:

<page view-id="/search.jsp">
  |         <param name="category" value="#{search.category}"/>
  |         <param name="province" value="#{search.province}"/>
  | </page>

All this behaves strange. When I enter search.jsp page for the first time, 
searchResults are just initialized and it's ok. But then I set e.g. category to 
A, and province to B, and hit the button. In debug I can see _first_ factory 
method is called, and retrieves articles based on still null province and 
category, _after_this_ province is set to B and category to A. If I change 
category and province again, lets say to C and D, and hit the button again I 
can see such actions in debug:
1. category and province set to A and B (old values)
2. factory method called
3. category and province set to C and D.

Why it happens? Why parameters are not set before calling factory method?

Best regards
Pawel Stawicki


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4114832#4114832

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4114832
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to