Search code examples
gwtconstantssharinguibinder

GWT - What's the shortest way of simply sharing strings and number constants between Java code and UiBinder files?


Can someone post an example of the shortest way of sharing a (preferably static final) string or number constant between Java code and UiBinder XML, where I can use the constant either in an attribute:

<g:TextArea width="...px"/>

or in a value:

<g:Label>...</g:Label>

I can't seem to find an example of this, only text from a file, which I don't want.


Solution

  • static fields (and enum constants) can be used with a simple <ui:import>:

    <ui:import field="com.example.Pojo.CONSTANT" />
    

    or

    <ui:import field="com.example.Pojo.*" />
    

    and then simply:

    <g:Label text="{CONSTANT}" />
    

    or

    <g:Label><ui:text from="{CONSTANT}"/></g:Label>
    

    See https://code.google.com/p/google-web-toolkit/source/browse/trunk/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml#87 for an example.