[jboss-user] [JBoss Seam] - UI: Filtering with drop-downs does not work

thephil do-not-reply at jboss.com
Wed May 23 10:08:04 EDT 2007


I am running JBoss 4.0.5 with ejb3 profile. I am using Seam 1.2.1.GA.

I have generated a CRUD Seam application with "seam generate-entities". Now I would like to filter results for the list pages using a drop down. 

1. The list page displays parameters. Each parameter is linked to a category (own entity/db table). 
2. I now wanted to add a dropdown to select filter parameters based on category. 

However, it does not seem to work. Could somebody please help me out on this one? Maybe I am just thinking too complicated...

Here is what I did: 

ParameterList.java (extends EntityQuery)
I added one Line to the RESTRICTIONS array. It now looks like this: 


  | @Name("parameterList")
  | public class ParameterList extends EntityQuery {
  | 
  | private static final String[] RESTRICTIONS = {
  |         "lower(parameter.name) like concat(lower(#{parameterList.parameter.name}),'%')",
  |         "lower(parameter.description) like concat(lower(#{parameterList.parameter.description}),'%')",
  |         "lower(parameter.designDocument) like concat(lower(#{parameterList.parameter.designDocument}),'%')",
  |         "lower(parameter.settingsDescription) like concat(lower(#{parameterList.parameter.settingsDescription}),'%')",
  |         "parameter.paramcategory.paramcategoryId = #{parameterList.parameter.paramcategory.paramcategoryId}",};
  | 

(I have added only the last line. Paramcategory is the category of the parameter.)

ParameterList.xhtml
I added the dropdown menu. I looked at the seam ui example and tried to map that code to my application.


  | <rich:simpleTogglePanel label="Parameter search parameters" switchType="ajax">
  | 
  | [... other search fields ...]
  | 
  |     <s:decorate template="layout/display.xhtml">
  |           <ui:define name="label">settingsDescription</ui:define>
  |           <h:inputText id="settingsDescription" value="#{parameterList.parameter.settingsDescription}"/>
  |     </s:decorate>
  | 
  | [... here comes my searchfield ...]
  | 
  |    <s:decorate template="layout/display.xhtml">
  |         <ui:define name="label">category</ui:define>
  | 	<h:selectOneMenu value="#{parameterList.parameter.paramcategory}" > 
  | 		<s:selectItems value="#{paramcategoryList.resultList}" var="category" label="#{category.name}" />
  | 		<s:convertEntity />
  | 	</h:selectOneMenu>
  |     </s:decorate>
  | </rich:simpleTogglePanel>
  | 

If I select something from the dropdown, no filtering happens. In the logfile, you can see that Hibernate assembles the SELECT statement to the DB correctly:

  | 2007-05-22 13:35:31,915 DEBUG [org.hibernate.SQL] select * from ( select parameter0_.PARAMETER_ID as PARAMETER1_69_, parameter0_.CATEGORY_ID as CATEGORY8_69_, parameter0_.TYPE_ID as TYPE6_69_, parameter0_.STATUS_ID as STATUS7_69_, parameter0_.DESIGN_DOCUMENT as DESIGN2_69_, parameter0_.SETTINGS_DESCRIPTION as SETTINGS3_69_, parameter0_.NAME as NAME69_, parameter0_.DESCRIPTION as DESCRIPT5_69_ from MICSCONF.PARAMETER parameter0_ where parameter0_.CATEGORY_ID=? ) where rownum <= ?
  | 
  | 2007-05-22 13:35:31,915 INFO  [STDOUT] Hibernate: select * from ( select parameter0_.PARAMETER_ID as PARAMETER1_69_, parameter0_.CATEGORY_ID as CATEGORY8_69_, parameter0_.TYPE_ID as TYPE6_69_, parameter0_.STATUS_ID as STATUS7_69_, parameter0_.DESIGN_DOCUMENT as DESIGN2_69_, parameter0_.SETTINGS_DESCRIPTION as SETTINGS3_69_, parameter0_.NAME as NAME69_, parameter0_.DESCRIPTION as DESCRIPT5_69_ from MICSCONF.PARAMETER parameter0_ where parameter0_.CATEGORY_ID=? ) where rownum <= ?
  | 
  | 2007-05-22 13:35:31,915 DEBUG [org.hibernate.loader.hql.QueryLoader] bindNamedParameters() 3 -> el5 [1]
  | 
However, no filtering happens in the result on the webpage. Also, the selection of the dropdown is not being preserved (after page reload, the dropdown shows the default category, not the one I selected earlier). 

Can anybody help me please? I am running down against wall now...


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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047910



More information about the jboss-user mailing list