有人知道如何从 Jar 加载 Zul 吗? 我有一个包含 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);
}
有人知道这种创建新页面的方法有什么问题吗?一些绑定(bind)问题还是什么?
最佳答案
Executions.createComponents 将使用 ZK Specific URI(引用 Inter-Application Communication),其中 ZK Specific URI 中的“~./”将获取“classpath/web/”下的文件,假设您“src/web/zul/pages”下的zul页面如下:
然后将 src 文件夹导出为 jar,然后您可以使用 jar 中的 zul 文件创建组件,如下所示:
Executions.createComponents("~./zul/pages/zulInJar.zul", parent, null);
关于java - 从 Jar 加载 ZUL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14808693/