4

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

新しいページを作成するこの方法の問題点を知っている人はいますか? 拘束力の問題か何か?

4

1 に答える 1

6

Executions.createComponents は ZK 固有の URI ( Inter-Application Communicationを参照) で動作します。ここで、ZK 固有の URI の「~./ 」は「classpath/web/」の下のファイルを取得します。「src/web/zul の下にある zul ページを想定してください」 /pages" 以下のように:

src の下の zul ページ

src フォルダーを jar としてエクスポートすると、以下のように jar 内の zul ファイルを使用してコンポーネントを作成できます。

Executions.createComponents("~./zul/pages/zulInJar.zul", parent, null);
于 2013-02-17T01:18:19.907 に答える