Inter-Web-Application Communication
This documentation is for an older version of ZK. For the latest one, please click here.
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.