이번에는 다중항목(Multiple Select)을 지원하는 Palette에 대해 알아보자!!

보통 Select를 사용시 List<String>을 많이 사용하긴 한다..

(하지만, 더 많이 사용하는 방식은, "value,Label"을 따로 넣을 수 있는 Map형태이겠지만..)

Tapestry에서는 이를 쉽게 구현할 수 있다.




1. 

자바단에서 처리를, 실제 Option에 들어갈 PETS와

선택한 목록을 저장해주는 paletteSelectValues,

Tapestry에서 Option value와 Lable로 자동 매핑해주는 StringValueEncoder를 설정한다.

@Property
private final StringValueEncoder stringValueEncoder = new StringValueEncoder();
	
@Property
@Persist
private List paletteSelectedValues;

@Property
private final String[] PETS = { "Dog", "Cat", "Parrot", "Mouse" };

2.

TML에서는 Palette설정과 주의해야할 사항에 대해 말하겠음.

먼저, 위에서 설정한 필수 값들을 매핑해주고(t:model, t:selected, t:encoder)

Tapestry 5.4버전에서 추가된 t:selected(Collection<Object> selected)를 반드시 구현해줘야한다.

그러면, selected된 목록을 List를 통해 뽑아낼수있다.



    
    



다른 카테고리의 글 목록

Workspace/Web Dev 카테고리의 포스트를 톺아봅니다