2013-02-11 62 views
4

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


我现在使用:

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); 
} 

没有任何认识一些问题,创建新页面的这种方法吗?一些绑定问题或someting?

+0

为什么你正在混合web项目机智h纯Java编码我从来没有见过这种类型的编码 – 2013-02-11 12:24:09

+0

我做了一个动态向导,你可以添加页面到向导,如: pages.add(new WizardPageConfig(SOMEID,“/pages/personWizard/pageStart.zul”));这个向导逻辑在我们的框架中,向导的文件上传页面是默认的zul,这也应该在框架中。 – Kani 2013-02-11 13:22:00

+0

是这种小提琴吗? – 2013-02-11 13:24:18

回答

6

Executions.createComponents将与ZK特定URI工作(参见Inter-Application Communication),其中 “〜/ ” 在ZK特定URI将获得在 “类路径/ WEB/”,承担“SRC在你ZUL页面文件/网络/ ZUL /页”,如下图:

zul page under src

你导出src文件夹作为一个罐子,那么你可以用下面的罐子ZUL文件创建组件:

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

谢谢本,你的回答 – 2013-02-17 16:10:01

+0

thx这很好! – Kani 2013-02-18 13:40:01