| <html><head> |
| <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| <title>4.2 The Host bundle</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="Virgo Snaps User Guide"><link rel="up" href="ch04.html" title="4. A Sample Application"><link rel="prev" href="ch04.html" title="4. A Sample Application"><link rel="next" href="ch04s03.html" title="4.3 Adding New Content"><!--Begin Google Analytics code--><script type="text/javascript"> |
| var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |
| document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); |
| </script><script type="text/javascript"> |
| var pageTracker = _gat._getTracker("UA-2728886-3"); |
| pageTracker._setDomainName("none"); |
| pageTracker._setAllowLinker(true); |
| pageTracker._trackPageview(); |
| </script><!--End Google Analytics code--></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2 The Host bundle</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">4. A Sample Application</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sample-application-host"></a>4.2 The Host bundle</h2></div></div></div><p> |
| This bundle is very simple with no Java code. It defines the Snaps filter in its <code class="literal">web.xml</code> |
| just as you have seen in the <a class="link" href="ch03.html#using-snaps-configuring-the-host" title="3.1 Configuring the Host">Using Snaps</a> section. The |
| menu bar uses the taglibs support to render links for each registered Snap. |
| </p><pre class="programlisting"> |
| <ul> |
| <li><a href="<c:url value="/"/>">Home</a></li> |
| <snaps:snaps var="snaps"> |
| <c:forEach var="snap" items="${snaps}"> |
| <c:if test="${snap.contextPath ne '/styles'}"> |
| <li><a href="<c:url value="${snap.contextPath}${snap.properties['link.path']}"/>"> |
| ${snap.properties['link.text']}</a> |
| </li> |
| </c:if> |
| </c:forEach> |
| </snaps:snaps> |
| </ul> |
| </pre><p> |
| This is very similar to an example you have already seen. It puts the links in a list and adds a link at the |
| beginning to return to the host. The properties it is referencing are located in the snaps themselves at |
| <code class="literal">/META-INF/snap.properties</code>. |
| </p></div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script><script type="text/javascript"> |
| _lf_cid = "LF_48be82fa"; |
| _lf_remora(); |
| </script><!--End LoopFuse code--><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4. A Sample Application </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 4.3 Adding New Content</td></tr></table></div></body></html> |