i tried select component but i have difficulty and got stuck on it. i had already read the archive milis, but still have no idea what had happened with mine here's my code....
i always get null value(no data) to diplay in my select component. when i debug it, getPositionList() in Home.java always return a list of value. but it doesn't work when i try to call the model : return new PositionSelectionModel(getPositionList()); does anyone can help clear me up.... thnx... * ----------------------------------------------------------------------------------------------------- Home.tml* <select t:type="select" t:id="position" value="position" model="positionSelectionModel" encoder="valueEncoder"/> ------------------------------------------------------------------------------------------------- *Home.java ..... *private PositionSelectionModel positionSelectionModel; public PositionSelectionModel getPositionSelectionModel() { setPositionList(getPositionDao().queryForList("", "")); return new PositionSelectionModel(getPositionList()); } public ValueEncoder<Position> getValueEncoder(){ return new PositionValueEncoder(getPositionList()); } ...... ------------------------------------------------------------------------------------------------------ *PositionSelectionModel .java * public class PositionSelectionModel implements SelectModel { private List<Position> positionList; public PositionSelectionModel(List<Position> positionList){ this.positionList = positionList; } public List<OptionGroupModel> getOptionGroups() { return null; } public List<OptionModel> getOptions() { List<OptionModel> optionModelList = new ArrayList<OptionModel>(); for(Position position: positionList) { System.out.println(position.getPosition()); optionModelList.add(new OptionModelImpl(position.getPosition(), false, position,new String[0])); } return optionModelList; } public void visit(SelectModelVisitor arg0) { } } ------------------------------------------------------------------------------------------------------------------------------ *PositionValueEncoder.java* public class PositionValueEncoder implements ValueEncoder<Position> { private List<Position> positionList; public PositionValueEncoder(List positionList) { this.positionList = positionList; } public String toClient(Position position) { return position.getPosition(); } public Position toValue(String value) { for(Position position : positionList) { if(position.getPosition().equals(value)) { return position; } } return null; } }