2011-10-13 4 views
14

개찰구 많은 AbstractRepeaters의 구현이 있습니다 ListView에, DataView를,의 GridView, 루프, PropertyListView 등아파치 개찰구 리피터 : 개요

는 개인적으로, 나는 그것이 어떤 하드 시나리오에 이상적 될 것이라고보기를 결정하기 위해 찾을 수 있습니다. 저는 대개 DataView를 사용합니다.하지만 익숙해 져서 간단합니다. 어쩌면 GridView는 B에 대한 PropertyListView 시나리오에 더 좋을 것입니다.

블로그 또는 튜토리얼에 대한 의견 차이점이 설명되어 있거나 누가 어떤보기가 가장 적합한 지 설명 할 수있는 사람은 누구입니까? 유스 케이스?

답변

28

개찰구에는 많은 추가 수업이있어서 혼란을 야기합니다. 다른 구성 요소 은 다른 시나리오에 비해이 더 좋지만 실제로는 복잡하지 않은 드문 경우에는 많은 Wicket 구성 요소가 있습니다.

예를 들어, RequiredTextField은 동일합니다 전체 클래스 :이 더 복잡 필요한 설정을 이전 버전에서 유래 가정

TextField x = new TextField("text"); 
x.setRequired(true); 

하지만 혼란의 원인이 여전히있다.

많은 중계기가 유사합니다. PropertyListViewCompoundPropertyModel에 모델을 래핑하기 만하므로 속성 표현식을 쉽게 만듭니다 (아래 참조). 그러나 쉽게 변경할 수 있습니다.

그래서, 여기 당신이 설명한대로 내가 최신 블로그 게시물을 찾을 수 없었습니다 나의 빠른 요약 한 것입니다

RepeatingView는 - 매우 유용 당신이 목록을하거나하지 않는 경우 다른 유형의 구성 요소를 추가하고 있습니다 (따라서 내부 마크 업이 다름).

ListView - List이 있고 모든 것을 표시하는 경우 유용합니다. 슬프게도 다른 정렬 된 컬렉션에서는 작동하지 않습니다.

DataView - 데이터베이스에서로드하는 경우 유용합니다. 추가 메소드를 사용하면 데이터 세트를 쉽게 정렬, 페이지 및 수정할 수 있습니다.

PropertyListView - 속성 식을 통해 단순히 값을 표시하는 경우에 유용합니다. 당신이 시간의 Integer 수 대신 데이터 세트 목록을 반복하려는 경우에 유용합니다 - 당신이

item.add(new Label("name")); 

대신 루프

item.add(new Label("name", new PropertyModel<String>(item.getModel(), "name"))) 

의 작업을 수행 할 수 있습니다. 그 모델 개체입니다 ListView0에서 length

의 GridView에 정수로 채워진 List<Integer>되는이 동등한 것이다 - 마크의 두 세트를 하나의리스트 (예를 들어 21 문자열)을 복용하여 유용 (내부/외부) 해당 목록을 그룹으로 표시합니다 (예 : 7x3 표). 그러나 마크 업은 특정 개찰표를 사용한다고 가정합니다. 이드는 잘 설명되어 있지 않습니다.같은 것을 달성하는 중첩 된 RepeatingView 구성 요소를 사용하는 것이 더 나을 것이라고 생각합니다.

희망 하시겠습니까?

+0

감사합니다. 실제로 도움이됩니다 .-). –

+0

철저한 답변 - 감사합니다! – Chaiavi

+0

다른 멋진 개요 https://cwiki.apache.org/confluence/display/WICKET/Tables+and+Grids – DraggonZ