2013-04-10 50 views
5

Tôi đang cố gắng học Wicket. Một trong những vấn đề tôi gặp phải là thay đổi giá trị của các thành phần như nhãn.Nhãn thay đổi nhãn/giá trị trường văn bản

Đây là cách tôi tuyên bố nhãn:

Label message = new Label("message", new Model<String>("")); 
message .setOutputMarkupId(true); 
add(message); 

Giải pháp duy nhất tôi có thể tìm thấy:

Label newMessage= new Label(message.getId(), "MESSAGE"); 
newMessage.setOutputMarkupId(true); 
message.replaceWith(newMessage); 
target.add(newMessage); 

Có/cách dễ dàng hơn tốt hơn để chỉnh sửa giá trị của một nhãn Wicket và hiển thị giá trị mới này cho người dùng?

Cảm ơn!

Trả lời

19

Tôi nghĩ bạn không hiểu Mô hình là gì. Ví dụ bạn có thể được viết lại như sau

Model<String> strMdl = Model.of("My old message"); 
Label msg = new Label("label", strMdl); 
msg.setOutputMarkupId(true); 
add(msg); 

Trong trường hợp ajax của bạn

strMdl.setObject("My new message"); 
target.add(msg); 
+0

Cảm ơn bạn đã trả lời của bạn. Tôi không hiểu họ, nhưng bây giờ tôi làm. Điều này hoạt động hoàn hảo – Attiej

Các vấn đề liên quan