如何在多个zul文件中控制对象

时间:2013-10-21 10:17:10

标签: zk zul

我需要从另一个zul文件(gmaps.zul)中的按钮控制gmaps(在top.zul文件中)。 这两个文件都包含在root.zul中。 当我按下我的按钮ZK向我显示弹出错误消息:“Name is empty or target is null.” 这是我的代码:

* root.zul *

<?link rel="stylesheet" type="text/css" href="/resources/css/style.css"?>
<zk>
    <borderlayout hflex="1" vflex="1">
        <north height="100px" border="none" >
            <include id="northPanel" src="/top.zul"></include>    
        </north>
        <center id="mainContent" autoscroll="true">
            <include src="/gmaps.zul" ></include>    
        </center>
    </borderlayout>
</zk>

* gmaps.zul *

<zk>
    <div>
        <gmaps id="map" width="500px" height="500px" lat="35" lng="-110" />
    </div>
</zk>

** top.zul **

<zk>
    <div apply="test.TestComposer">
        <button id="btn" label="add marker" />
    </div>
</zk>

** TestComposer.java **

public class TestComposer extends GenericForwardComposer {
    private Gmaps map;
    private double lat = 35;
    private double lng = -110;

    public void onClick$btn() {
        Events.echoEvent("onAddMarker", map, null);
    }

    public void onAddMarker$map() {
        Gmarker marker = new Gmarker();
        lat += 0.001;
        lng += 0.001;
        marker.setLat(lat);
        marker.setLng(lng);
        marker.setParent(map);
    }
}

1 个答案:

答案 0 :(得分:0)

您需要连接地图:

@Wire
private Gmaps map;