GWT: استخدم نفس قالب واجهة المستخدم لصفحات متعددة؟

StackOverflow https://stackoverflow.com/questions/2632461

  •  26-09-2019
  •  | 
  •  

سؤال

كيف يمكنني استخدام نفس قالب واجهة المستخدم (*.ui.xml ملف) مع كائنات Java متعددة تمتد من المركب؟

أحتاج إلى إنشاء العديد من الصفحات التي يجب أن تعرض بشكل أساسي نفس المعلومات مع نفس التصميم ، ولكن في صفحة واحدة ستكون بعض الحقول قابلة للتحرير ، وستكون الحقول الأخرى في صفحة مختلفة قابلة للتحرير. أرغب في تحديد التصميم مرة واحدة فقط في ui.xml ، وإنشاء سلوكيات مختلفة في فصول مختلفة *.java.

يعطيني Eclipse خطأ في بناء الجملة "FirstAppui.ui.xml مفقود"

@UiTemplate("Template.ui.xml")
public class FirstAppUI extends Composite {
  interface FirstAppUIUiBinder extends
          UiBinder<Widget, FirstAppUI> {
  }
}

شكرًا! جين بروساكوفا

هل كانت مفيدة؟

المحلول

أعتقد أنك بحاجة إلى وضع @UiTemplate التعليق التوضيحي على Binder, ، ليس على Composite صف دراسي

هذا الرمز يعمل بالنسبة لي:

public class TestUiBinder extends Composite {

  @UiTemplate("SomeTemplate.ui.xml")
  interface TestUiBinderUiBinder extends UiBinder<Widget, TestUiBinder> {}
  private static TestUiBinderUiBinder uiBinder = GWT.create(TestUiBinderUiBinder.class);

  public TestUiBinder() {
    initWidget(uiBinder.createAndBindUi(this));
  }
}

public class AnotherTestUiBinder extends Composite {

  @UiTemplate("SomeTemplate.ui.xml")
  interface TestUiBinderUiBinder extends UiBinder<Widget, AnotherTestUiBinder> {}
  private static TestUiBinderUiBinder uiBinder = GWT.create(TestUiBinderUiBinder.class);

  public AnotherTestUiBinder() {
    initWidget(uiBinder.createAndBindUi(this));
  }
}

هذا يبدو مشابهًا إلى حد ما مع الحل تطبيق قوالب مختلفة على نفس القطعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top