2012-02-29 11 views

Respuesta

12
<ui:import field='com.mine.courierApp.shared.PayerType.Sender' /> 

o

<ui:import field='com.mine.courierApp.shared.PayerType.*' /> 

Y entonces usted puede utilizarlo como payerType='{Sender}'.

Pero UiBinder debe tratar de forma automática para traducir nombres de constantes de enumeración en valores, por lo que el siguiente debería funcionar sin necesidad de un ui:with:

<my:MyWidget payerType='Sender' /> 

Si el widget MyWidget tiene un método public void setPayerType(PayerType type), UiBinder debe buscar una valor enum llamado Sender (del archivo *.ui.xml) en la enumeración PayerType (del tipo de argumento del método).

+0

Desafortunadamente falla en tiempo de ejecución diciendo: 'ERROR: Devuelve la clase com.mine.courierApp.shared.PayerType, no se puede utilizar como clase java.lang.String' – expert

+0

Thomas, ¿puedo pedirle que también eche un vistazo a [esta pregunta] (http://stackoverflow.com/questions/9476341/) Usted sabe mucho sobre el funcionamiento interno de GWT. – expert

+0

Lo sentimos, debería ser 'ui: import' en lugar de' ui: with'. Acabo de registrar las [pruebas unitarias de la función] (http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/test/com/google/gwt/uibinder/ test/client/WidgetBasedUi.ui.xml # 83) (y puede ver el 'EnumeratedLabel' allí para ver un ejemplo de traducción automática de una cadena en un valor enum. –

0

Si no ui: importar la clase de enumeración como esto:

<ui:import field='com.mine.courierApp.shared.PayerType.*' /> 

entonces usted no recibe el contenido de ayuda, que el punto central de esta en el primer lugar.

Pero entonces se encuentra con otro tema ...

Aunque puede tipo simple {ctrl-espacio} para obtener un menú emergente del valor de enumeración, si está utilizando, por ejemplo, bootstrap3, hay varios enumeraciones que cada uno tiene su propio valor "POR DEFECTO". El editor de plantillas de la interfaz de usuario se quejará de eso; es decir, si comienza a hacer un uso extensivo de esta función de asistencia de contenido, deberá asegurarse de que las enumeraciones importadas tengan nombres de valores únicos.

Cuestiones relacionadas