You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Penyihir Kecil <pe...@gmail.com> on 2007/12/11 09:57:03 UTC
T5 : null display SELECT component ?
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;
}
}