Inter-Web-Application Communication
This documentation is for an older version of ZK. For the latest one, please click here.
An EAR file could have multiple WAR files. Each of them is a Web application. There are no standard way to communicate between two Web applications.
However, ZK supports a way to reference the resource from another Web applications. For example, assume you want to include a resource, say /foreign.zul, from another Web application, say app2. Then, you could do as follows.
<include src="~app2/foreign.zul"/>
Similarly, you could reference resources from another Web application.
<style src="~app2/foo.css"/> <!-- assume foo.css is in the context called app2 -->
<image src="~/foo.png"/> <!-- assume foo.png is in the root context -->
Note: Whether you can access a resource located in another Web application depends on the configuration of the Web server. For example, you have to specify crossContext="true" in conf/context.xml, if you are using Tomcat.
Web Resources from Classpath
With ZK, you could reference a resource that is locatable by the classpath. The advantage is that you could embed Web resources in a JAR file, which simplifies the deployment.
<image src="~./my/jar.gif"/>
Then, it tries to locate the resource, /my/jar.gif, at the /web directory by searching resources from the classpath.
There are three ways to place file in classpath.
Under java src folder
Create web
folder under src
folder. ~.
will search src/web. For example src/web/my/jar.gif
can be found by <image src="~./my/jar.gif"/>
.
Under WebContent folder
Create classes/web
under WebContent/WEB-INF
folder. For example WebContent/WEB-INF/classes/web/my/jar.gif
can be found by <image src="~./my/jar.gif"/>
.
Jar the file
You may jar the resource and place it under WebContent/WEB-INF/lib
folder. For <image src="~./my/jar.gif"/>
, the file should be under web/my/jar.gif
inside the jar file.