2012-01-20 12 views
5

Estoy usando gwt uibinder. Quiero establecer dinámicamente valores en un campo. Estoy intentando algo como estogwt uibinder ui: con - llamando a métodos con argumentos

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

y el campo se establece con el valor como esto

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

y la ValueStore tiene 2 métodos

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

public String getValue() { 
    return null; 
} 

El problema es que soy incapaz de llama al getValue (clave). Sólo pude llamar al método sin argumentos que significa que el siguiente no es posible

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

Sírvanse aclarar si hay una manera de lograr esto donde puedo llamar a un método con argumentos que se le pasan.

Respuesta

7

Eso no es compatible, solo se pueden invocar métodos sin argumentos. Deberá exponer el name directamente como un método sin argumentos.

Consulte la documentación para FieldReferenceConverter, esto describe la sintaxis utilizada. Puedes ver que no hay soporte para pasar argumentos.

+0

Gracias. Estupendo. Me gustaría saber si hay alguna alternativa para lograr mi propósito: establecer el valor de un campo en ui.xml llamando a un método de Java con arg. Esto es fácilmente factible en la propia clase Java del propietario, pero quiero que esté en el archivo xml. – javalearner

Cuestiones relacionadas