[opencms-dev] filter-mapping for file included by <cms:include>?
grabner at icg.tugraz.at
Sat Feb 21 21:41:53 CET 2009
What is the recommended configuration to apply a filter-mapping (in
web.xml) to arbitrary files included by <cms:include> from JSP files? I'm
trying to integrate ZK (see http://www.zkoss.org) with opencms and include
ZUL-files in JSP-pages, i.e., something like
<cms:include page="test.zul" />
I guess setting up a correct filter mapping should do the trick, but wasn't
able to find a reasonable solution. I tried the following:
*) I read "http://mail.opencms.org/pipermail/opencms-dev/2006q4/027017.html",
there were several suggestions, but no working solution.
*) I set <url-pattern> in <filter-mapping> to the file extension ("*.zul").
However, this only works when the ZUL-file is accessed directly, but not for
<cms:include>ing the file in a JSP file.
*) When the ZUL-file is included by <jsp:include> instead of <cms:include>,
and I make sure that it exists at the correct path in the real file system,
the filter-mapping works. However, this is obviously not a viable solution
for a production environment.
*) I also considered a static export, but there is only a single version of
the file instead of separate online and offline versions, so this is also not
useful for this purpose.
*) From the opencms log file I concluded that the external request dispatcher
is only invoked for files included by <jsp:include> and for JSP-files
included by <cms:include>, but not for non-JSP files included by
<cms:include>. So I tried to make false claims about the ZUL-file and
declared it as JSP by explicitly overriding its type in the opencms explorer.
However, then the extension "jsp" is added to the file, and for whatever
reason a <url-pattern> "*.zul.jsp" doesn't work.
*) This led me to a workable, but *very ugly* solution: storing all ZUL-files
(with type set to JSP) under /test/zul in the VFS and defining two separate
path-based filter mappings with the following <url-pattern>s
gives the desired result. However, this calls for troubles with maintenance
since all paths to ZUL files must explicitly be listed in web.xml, and all
ZUL files must be tagged as JSP.
So the short question after the long story is: how can I configure opencms to
invoke the external request dispatcher for non-JSP files included by
<cms:include> in a similar way as it is done for JSP-files?
Thanks & kind regards,
Markus Grabner - Computer Graphics and Vision
Graz University of Technology, Inffeldgasse 16a/II, 8010 Graz, Austria
Phone: +43/316/873-5041, Fax: +43/316/873-5050
More information about the opencms-dev