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 ]