1

我正在使用带有 UIbinder 的 GWTP。MyPresenter.java 正确表示 MyPresenter.ui.xml 上的信息。但是,我需要在 MyPresenter.java 中显示 MyClass.ui.xml 的内容,其值来自 MyClass.java(不是演示者)。有没有办法做到这一点?

MyPresenter.ui.xml

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'
    ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
    ui:generateKeys='com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator'
    ui:generateLocales='default' xmlns:p1="urn:import:com.google.gwt.user.cellview.client">
    <g:HTMLPanel>
        <g:Label ui:field = "myDiagramsText" styleName="{res.style.mydiagramsLabel}"/>
    </g:HTMLPanel>
</ui:UiBinder>

MyClass.ui.xml

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
        <g:HTMLPanel> <div ui:field='Panel'>HOLA HOLAHOLAHOLA</div> </g:HTMLPanel>
</ui:UiBinder>

谢谢

4

1 回答 1

0

我不知道GWTP。通常在 MVP 模式中,视图和演示者具有一对一的关系。但是在 mvc 控制器和视图中有一对多的关系。就设计而言,一位演示者不可能有两种观点。

有一些解决方法:

1-您可以创建一个由这两个视图和一个复合演示者组成的复合视图

2-在大型应用程序中有一些封装 UI 流的流控制器。此控制器获取事件并更新相应的 UI。

这通常是我在自己的应用程序中所做的。

于 2013-04-25T17:28:57.123 回答