从Jar加载ZUL

时间:2013-02-11 08:53:01

标签: java zk zul

任何人都知道如何从Jar中加载Zul? 我有一个包含祖尔的图书馆项目。 目前我使用createComponents(String uri,Component parent,Map arg),但我不知道或不能在jar中引用uri。


我现在用:

public static Component createComponentsFromJar(final String path, final Component parent, final Map<?,?> arg) throws IOException {
    final InputStream resourceAsStream = ComponentHelper.class.getClassLoader().getResourceAsStream(path);
    final PageDefinition pageDefinition = Executions.getCurrent().getPageDefinitionDirectly(new InputStreamReader(resourceAsStream), "zul");
    resourceAsStream.close();
    return Executions.createComponents(pageDefinition, parent, arg);
}

有没有人知道这种创建新页面的方法有什么问题?一些绑定问题或某些问题?

1 个答案:

答案 0 :(得分:6)

Executions.createComponents将使用ZK特定URI(参考Inter-Application Communication),其中ZK特定URI中的“〜./ ”将获取“classpath / web / ”下的文件,假设您的zul页面位于“src / web / zul / pages”下面,如下所示:

zul page under src

然后将src文件夹导出为jar,然后您可以使用jar中的zul文件创建组件,如下所示:

Executions.createComponents("~./zul/pages/zulInJar.zul", parent, null);