这里面有两个很值得注意的东西
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; } }