任何人都知道如何从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);
}
有没有人知道这种创建新页面的方法有什么问题?一些绑定问题或某些问题?
答案 0 :(得分:6)
Executions.createComponents将使用ZK特定URI(参考Inter-Application Communication),其中ZK特定URI中的“〜./ ”将获取“classpath / web / ”下的文件,假设您的zul页面位于“src / web / zul / pages”下面,如下所示:
然后将src文件夹导出为jar,然后您可以使用jar中的zul文件创建组件,如下所示:
Executions.createComponents("~./zul/pages/zulInJar.zul", parent, null);