2012-01-20 23 views
5

Tôi đang sử dụng uwinder gwt. Tôi muốn tự động đặt giá trị cho một trường. tôi đang cố gắng một cái gì đó như thế nàygwt uibinder ui: với các phương thức gọi với các đối số

<ui:with field="valuesStore" type='x.y.client.ValuesStore' /> 

và lĩnh vực này được thiết lập với giá trị như thế này

<g:Label text='{valuesStore.getValue}'>Name</g:Label> 

và ValueStore có 2 phương pháp

public String getValue(String key) { 
    return localizedValues.get(key); 
} 

public String getValue() { 
    return null; 
} 

Vấn đề là tôi không thể gọi getValue (khóa). Tôi chỉ có thể gọi phương thức no-args có nghĩa là điều sau đây là không thể

<g:Label text='{valuesStore.getValue('name')}'>Name</g:Label> 

Hãy làm rõ nếu có cách để đạt được điều này, nơi tôi có thể gọi phương thức với đối số được truyền cho nó.

Trả lời

7

Điều đó không được hỗ trợ, chỉ có thể gọi các phương thức không có đối số. Bạn sẽ phải phơi bày trực tiếp name dưới dạng phương thức không có arg.

Xem tài liệu cho FieldReferenceConverter, điều này mô tả cú pháp được sử dụng. Bạn có thể thấy rằng không có sự hỗ trợ cho việc chuyển đối số.

+0

Cảm ơn bạn. Tuyệt quá. Tôi muốn biết nếu có bất kỳ thay thế nào để đạt được mục đích của tôi - hãy đặt giá trị cho một trường trong ui.xml bằng cách gọi một phương thức java với arg. Điều này có thể dễ dàng thực hiện được trong lớp chủ sở hữu java nhưng tôi muốn nó nằm trong tệp xml. – javalearner

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