簡體   English   中英

UiBinder的GWT項目結構

[英]GWT project structure with UiBinder

如果我有以下類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>

然后:

  1. MyWidgetUiBinder.ui.xml哪里(什么包或文件夾)? GWT是否允許您使其可配置,還是需要將其專門放置在某個地方?
  2. UiBinder片段的粒度應該是多少? 對於每個小部件? 對於每個顯示區域? 每個“頁面” /屏幕1個?

提前致謝!

  1. MyWidgetUiBinder.ui.xml放在哪里(什么包或文件夾)? GWT是否允許您使其可配置,還是需要將其專門放置在某個地方?

GWT要求ui.xml文件與.java文件位於同一文件夾(源文件夾)中。 如果您將GWT插件用於eclipse,則會在文件不存在的情況下向您發出警告。 如果確實需要,還可以在界面( MyWidgetUiBinder )上使用@UiTemplate批注指定其他位置。

  1. UiBinder片段的粒度應該是多少? 對於每個小部件? 對於每個顯示區域? 每個“頁面” /屏幕1個?

這真的取決於。 我喜歡從每頁一個UiBinder開始,然后從中分離出可重復使用的部分。

UiBinder在與該類相同的包中查找以該接口的封閉類(如果有,否則為接口名稱)命名的文件。

在您的情況下,它將查找com/mywebapp/client/ui/MyWidget.ui.xml

這是默認設置,可以使用@UiTemplate覆蓋。 請參閱https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Apply_different_xml

至於粒度 ,UiBinder模板應保留小部件的實現細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM