[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