• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Jeanne Boyarsky
  • Junilu Lacar
  • Henry Wong
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Frits Walraven
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • salvin francis
  • fred rosenberger

'select' componet in tapestry

 
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know why i can not get the submitted value of the dropdown list , it always be null .The code is below :
html:
<td>
<select jwcid="places"></select>
</td>
page:
<property name="place"/>

<component id="places" type="PropertySelection">
<binding name="value" value="place"/>
<binding name="model" value="placeDropdownList"/>
</component>
java:
public abstract class TestTapestry extends BasePage
{

public abstract void setPlace(String place);

public abstract String getPlace();

public List getList()
{
List<List<String>> list = new ArrayList<List<String>>();
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
list1.add("Beijing");
list1.add("Shanghai");
list1.add("Xianggang");
list1.add("Dongjing");
list2.add("北京");
list2.add("上海");
list2.add("香港");
list2.add("东京");

list.add(list1);
list.add(list2);

return list;
}

public IPropertySelectionModel getPlaceDropdownList()
{
PlaceDropdownList places = new PlaceDropdownList();
places.placesList = this.getList();
setPlace("Dongjing");
return places;
}

public String submit(IRequestCycle cycle)
{
System.out.println(getPlace());
}


private class PlaceDropdownList implements IPropertySelectionModel
{
List placesList = null;

public String getLabel(int arg0) {
List list = (List)placesList.get(1);
return (String)list.get(arg0);
}

public Object getOption(int arg0) {
List list = (List)placesList.get(0);
return list.get(arg0);
}

public String getValue(int arg0) {
List list = (List)placesList.get(0);
return (String)list.get(arg0);
}

public int getOptionCount() {
return ((List)placesList.get(0)).size();
}

public Object translateValue(String arg0) {
return arg0;
}
}
}

when submit method invoked , will get null . Waiting for your help , thank you very much.
[ August 15, 2006: Message edited by: David George ]
 
Ranch Hand
Posts: 390
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
getPlace() should be null; I am damn sure getPlaceDropdownList()
was never called; if you want getPlace() to have value; try setting setPlace() in pageBeginRender() method; remember this method is called only if your class implements PageBeginRenderListener interface.
 
Warning! Way too comfortable! Do not sit! Try reading this tiny ad instead:
Devious Experiments for a Truly Passive Greenhouse!
https://www.kickstarter.com/projects/paulwheaton/greenhouse-1
    Bookmark Topic Watch Topic
  • New Topic