Hi, It should be a simple problem but I tried to solve it without success. So, mainly, I have javabean used to fill and store a form. The form consist on 2 Select box and 3 String fields.
Home.html <td> <select jwcid="[EMAIL PROTECTED]" name="searchCriteria.requester" size="1" tabindex="1" class="comboBox9pt"> <span jwcid="@Foreach" source="ognl:requesters" value="ognl:requester"> <option jwcid="@Option" label="ognl:requester.display" selected="ognl: searchCriteria.requester" /> </span> </select> </td> <td><input jwcid="[EMAIL PROTECTED]" value="ognl:searchCriteria.year" name=" searchCriteria.year" maxlength="4" tstyle="width:40px;" /></td> <td><input jwcid="[EMAIL PROTECTED]" value="ognl:searchCriteria.number" name="searchCriteria.number" maxlength="5" style="width:50px;" /></td> <td><input jwcid="[EMAIL PROTECTED]" value="ognl:searchCriteria.version" name="searchCriteria.version" maxlength="2"style="width:35px;" /></td> <td><input jwcid="[EMAIL PROTECTED]" value="ognl:searchCriteria.part" name=" searchCriteria.part" maxlength="2"style="width:35px;" /></td> <td> <select jwcid="[EMAIL PROTECTED]" name="searchCriteria.language" size="1" tabindex="6" class="comboBox9pt"> <span jwcid="@Foreach" source="ognl:languages" value="ognl:language"> <option jwcid="@Option" label="ognl:searchCriteria.language.label" selected="ognl:searchCriteria.language" /> </span> </select> </td> Why do I need to create an object to store the current value? I want to store the current value in searchCriteria.requester/searchCriteria.language. If I replace <span jwcid="@Foreach" source="ognl:requesters" value="ognl:requester"> <option jwcid="@Option" label="ognl:requester.display" selected="ognl: searchCriteria.requester" /> </span> by <span jwcid="@Foreach" source="ognl:requesters" value="ognl:searchCriteriaRequester"> <option jwcid="@Option" label="ognl:searchCriteria.requester.display" selected="ognl:searchCriteria.requester" /> </span> I don't have the error but the searchCriteria.requester is null when I submit!! What is the best way to use this @Select @Option component? Home.java /** The AppSettings */ public abstract ApplicationSettings getAppSettings(); public abstract void setAppSettings(ApplicationSettings appSettings); /** The search criterias */ public abstract SearchCriteria getSearchCriteria(); public abstract void setSearchCriteria(SearchCriteria searchCriteria); /** List of the requesters */ public abstract List getRequesters(); public abstract void setRequesters(List requesters); /** List of the languages */ public abstract List getLanguages(); public abstract void setLanguages(List languages); /** * Initialized appSettings at the loading process, beginning of the render [EMAIL PROTECTED] event The Tapestry loading page event */ public void pageBeginRender(PageEvent event) { ApplicationSettings appSettings = getAppSettings(); setRequesters(appSettings.getRequesters()); setLanguages(appSettings.getLanguages()); SearchCriteria searchCriteria = getSearchCriteria(); if (searchCriteria == null) { searchCriteria = new SearchCriteria(); searchCriteria.setRequester((Requester)getRequesters().get(0)); searchCriteria.setYear("2006"); searchCriteria.setNumber("00001"); searchCriteria.setVersion("**"); searchCriteria.setPart("**"); searchCriteria.setLanguage((Language)getLanguages().get(0)); } setSearchCriteria(searchCriteria); } SearchCriteria.java private Requester requester = null; public Requester getRequester() { return requester; } public void setRequester(Requester requester) { this.requester = requester; } private String year = null; public String getYear() { return year; } public void setYear(String year) { this.year = year; } private String number = null; public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } private String version = null; public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } private String part = null; public String getPart() { return part; } public void setPart(String part) { this.part = part; } private Language language = null; public Language getLanguage() { return language; } public void setLanguage(Language language) { this.language = language; }