Tapestry 5.4- Select 사용법

2014. 5. 26. 17:04 - 에릭투스

Tapestry jumpstart에도 잘 나와있지만, 개인적으로 정리하면서 해야 더 잘 이해하므로, 정리..

이 블로그를 보고 계신분들은 아마, tapestry jumpstart를 보시는게

더 이해가 빠를 수 있다는걸 알려드립니다..ㅋㅋ

 

0) Select의 기본적 특징

: Tapestry의 Core Component이며, AbstractField를 상속 받았기때문에

  Tapestry Form으로 꼭 감싸줘야한디~

 

1) Select Model 구성 – Model Type’s

 1. String (literal) : 단순 문자나열이 Option으로 표현 됨.

*model=”literal:문자열…”

 

2. Enum : Enum정의된 값들이 Option으로 표현 됨.

 *t:id=”Property명” , Model을 넣어주면 안됨.

 

 3. String Map : label-key, value-value

model="literal:R=Red,G=Green,B=Blue"

 

 4. enum + properties : Enum 값

 

 

5. SelectModelFactory 사용 

   : List<T>형태를 SelectModel형태로 변환해줌.

ex)

@Inject
private SelectModelFactory selectModelFactory;
selectModelFactory.create(List, “Options나타낼Property”);

return SelectModel;

 

*Option의 Label을 수정시에는 page객체명.properties를 수정한다.

“selectId”-blankLabel=공백시 나타낼 라벨명

 

6. SelectModel 직접구현 – AbstractSelectModel 구현.

ex)

.. extends AbstractSelectModel

@Override public List getOptions(){   

List options = new ArrayList();   

//persons의 경우 생성자를 통해 입력받구     

for(Person person : persons){

  options.add(new OptionModelImpl(

person.getFirstName()+” “+person.getLastName(),

person)

  );   

  }   

  return options;

}

 

 

2) Select Encoder

: Select표현을 단순 문자열(string), Enum으로 표현 할 수 있지만

   좀 복잡한 객체형식으로 표현 하려 할 경우. Encoder개념이 필요함.

 

-Encoder Using CustomValueEncoder

public String toClient(T value);

public T toValue(String id);

다른 카테고리의 글 목록

웹 개발/Tapestry 기초 카테고리의 포스트를 톺아봅니다