如何在jsf中使用<ui:include>包含来自外部引用项目(或jar)的xhtml片段

时间:2017-04-21 07:06:57

标签: java jsf java-ee

wgmdb.war-&GT; webapp-&GT;视图 - &GT; overview.xhtml

wgmdb-movies.jar-&GT; SRC-&GT; main-&GT;资源 - &GT; details.xhtml

如何将库中的details.xhtml包含到主项目的overview.xhtml中。我必须使用什么src路径才能找到details.xhtml?

1 个答案:

答案 0 :(得分:0)

如果您使用Maven作为构建工具,则可以将wgmdb-movies.jar作为wgmdb的依赖项添加到其 pom.xml 中。然后,您可以将要包含的facelet作为资源引入其他项目。

添加到wgmdb pom.xml

<dependency>
    <groupId>{your_group_id}</groupId>
    <artifactId>wgmdb-movies</artifactId>
    <version>{version}</version>
</dependency>

确保wgmdb-movies的artifactId在其自己的 pom.xml 中是一致的。并确保您 mvn安装资源jar,以便它可以作为依赖项包含在内。最后,在overview.xhtml中,你可以做一些模板,如:

<ui:include src="/{resource_path}/details.xhtml"></ui:include>

在您的情况下,资源路径可能只是src =“/ details.xhtml”,具体取决于您的构建配置。我不确定默认情况下maven是否将所需资源放在META-INF下,因此以下类型的调整可能会派上用场:

<build>
    <resources>
        <resource>
            <targetPath>META-INF</targetPath>
            <directory>src/main</directory>
        </resource>
    </resources>
    ...
</build>