Wicket có rất nhiều lớp học nhỏ, tầm thường, gây ra sự nhầm lẫn của bạn. Các thành phần khác nhau là tốt hơn cho các trường hợp khác nhau, nhưng có rất nhiều thành phần Wicket cho các trường hợp hiếm hoi không thêm bất kỳ sự phức tạp thực sự nào.
Ví dụ, RequiredTextField
là toàn bộ một lớp đó là tương đương với:
TextField x = new TextField("text");
x.setRequired(true);
Tôi đoán này xuất phát từ một phiên bản cũ mà thiết lập cần thiết là phức tạp hơn, nhưng nó vẫn còn đó để gây ra một số nhầm lẫn.
Nhiều bộ lặp của bạn giống nhau. PropertyListView
chỉ cần kết thúc mô hình trong một CompoundPropertyModel
, làm cho biểu thức thuộc tính dễ dàng hơn (xem bên dưới). Tuy nhiên, bạn có thể dễ dàng tự mình thực hiện thay đổi này.
Vì vậy, đây là tóm tắt nhanh chóng của tôi như tôi đã không thể tìm thấy một bài viết trên blog up-to-date như bạn đã mô tả:
RepeatingView - rất hữu ích khi bạn không có một danh sách hay bạn đang thêm các loại thành phần khác nhau (và do đó đánh dấu nội bộ khác nhau).
ListView - hữu ích nếu bạn có List
và bạn đang hiển thị toàn bộ. Đáng buồn thay, nó không hoạt động với các bộ sưu tập được sắp xếp khác.
DataView - hữu ích nếu bạn đang tải từ Cơ sở dữ liệu. Các phương thức bổ sung cho phép bạn dễ dàng sắp xếp, trang và sửa đổi tập dữ liệu.
PropertyListView - hữu ích nếu bạn chỉ hiển thị giá trị thông qua biểu thức thuộc tính. Cho phép bạn làm
item.add(new Label("name"));
thay vì
item.add(new Label("name", new PropertyModel<String>(item.getModel(), "name")))
Vòng - hữu ích nếu bạn muốn lặp lại một số Integer
lần thay vì một danh sách tập hợp các dữ liệu. Đây sẽ là tương đương với một ListView
có mô hình đối tượng là một List<Integer>
điền với số nguyên từ 0
để length
GridView - hữu ích cho việc một danh sách duy nhất (ví dụ 21 chuỗi) và sử dụng hai bộ đánh dấu (bên trong/bên ngoài) để hiển thị danh sách đó theo nhóm (ví dụ: lưới 7x3). Nó giả định, tuy nhiên, đánh dấu của bạn sử dụng một số wicket: id, mà không được tài liệu.Tôi nghĩ rằng bạn sẽ tốt hơn với một cặp lồng nhau RepeatingView
thành phần, mà thực hiện cùng một điều.
Hy vọng điều đó sẽ hữu ích!
Cảm ơn, điều này sẽ giúp thực sự :-). –
Câu trả lời thấu đáo - cảm ơn! – Chaiavi
Một tổng quan thú vị khác https://cwiki.apache.org/confluence/display/WICKET/Tables+and+Grids – DraggonZ