Tapestry Select

这里面有两个很值得注意的东西

1 Model参数

这个参数的指定可以有下面几种形式

a

tml侧:t:model = "literal: Red, Green, Yellow"

b

tml侧 :t:id= "someEnum" 不用t:model了就

java侧:  public enum someEnum{ RED, GREEN, BLUE }

c

tml侧:t:model = "someModel"

java侧:

List<Person> persons;

@Inject

private SelectModelFactory selectModelFactory;

public SelectModel getSomeModel(){

  selectModelFactory.create(persons, "SomeValue");

}

2 Encoder参数

如果我们的Model不是String类型的,那么就需要提供一个Encoder对象。

一般代码如下:

public PersonEncoder implements ValueEncoder<Person>{
    
    @Override
    public String toClient(Person value){
         return String.valueOf(value.getId());
    }
    
    @Override
    public Person toValue(String id){
        return someWordsToGetAPerson;
    }
}

 

posted @ 2013-04-01 15:05  VoctrALs  阅读(200)  评论(0编辑  收藏  举报