如果我有下面的类com.mywebapp.client.ui.MyWidget
public class MyWidget extends Composite {
interface MyWidgetUiBinder extends UiBinder<Widget, MyWidget>{}
private static MyWidgetUiBinder uiBinder = GWT.create(MyWidgetUiBinder.class);
...
}它是对应的UiBinder:
<!-- MyWidgetUiBinder.ui.xml -->
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<!-- ... -->
</ui:UiBinder>然后:
MyWidgetUiBinder.ui.xml去哪里(什么包或文件夹)?GWT允许您将其配置为可配置的,还是要求您将其具体放置在某个地方?提前感谢!
发布于 2012-11-07 01:46:29
UiBinder在与该类相同的包中查找以接口的封闭类(如果有的话)命名的文件(如果有的话,否则查找接口名称)。
在您的例子中,它将寻找一个com/mywebapp/client/ui/MyWidget.ui.xml。
这是默认的,可以使用@UiTemplate重写。请参阅xml
至于粒度,UiBinder模板应该保留一个小部件的实现细节。
发布于 2012-11-07 01:44:51
GWT要求ui.xml文件与.java文件位于同一个文件夹(源文件夹)中。如果您使用GWT插件进行eclipse,它将警告您,如果文件不存在。如果确实需要,还可以使用接口上的@UiTemplate注释(MyWidgetUiBinder)指定不同的位置。
那真的要看情况了。我喜欢从每页一个UiBinder开始,然后将可重用的部分从页面中分离出来。
https://stackoverflow.com/questions/13261765
复制相似问题