|
TreeSearchElementRenderer Demo
|
The TreeSearchElementRenderer is used to provide a User interface that combines TreeBuilder and TreeRenderer to provide browse tree-driven
search. In this example, a simple taxonomy is used to provide links to MSN pages. The browse tree is built using a
SAXTreeBuilder and
rendered with an DropdownMenuTreeRenderer.
JSP Custom tag used to renderer the tree:
<search:SearchForm
formName="MSNCategoryTreeForm"
action="TreeSearchElementRenderer.jsp" />
XML Configuration for this example:
<!-- ==================================================================== -->
<!-- MSN Categories Tree - used in TreeSearchElementRenderer demo. -->
<!-- ==================================================================== -->
<SearchForm name="MSNCategoryTreeForm"
rendererClass="com.raritantechnologies.searchApp.taglibrary.SearchFormTableRenderer" >
<SearchElementRenderer rendererClass="com.raritantechnologies.utils.tree.taglibrary.TreeSearchElementRenderer"
action="TreeSearchElementRenderer.jsp" >
<TreeBuilder class="com.raritantechnologies.utils.tree.SAXTreeBuilder"
fileName="BASE_PATH/data/MSNLinks.xml"
treeName="Category" >
<TreeNode
nodeTag="Category"
nameAttribute="name" >
</TreeNode>
</TreeBuilder>
<TreeRenderer class="com.raritantechnologies.utils.tree.taglibrary.DropdownMenuTreeRenderer"
hyperlinkTarget="newWindow" />
<LinkRenderer class="com.raritantechnologies.utils.tree.TaxonomySearchHyperlinkRenderer"
hrefParam="href" />
</SearchElementRenderer>
</SearchForm>
XML Source for SAXTreeBuilder:
<MSNLinks>
<Category name="Category" >
<Category name="News" href="http://www.msnbc.msn.com/" />
<Category name="Sports" href="http://msn.foxsports.com/" />
<Category name="Entertainment" >
<Category name="Movies" href="http://movies.msn.com/" />
<Category name="Music" href="http://music.msn.com/" />
<Category name="TV" href="http://tv.msn.com/default.aspx?stTz=300&dstTz=240" />
</Category>
</Category>
</MSNLinks>