A gadget is an individual piece of functionality encapsulated in a JSP file, so it can easily be included in multiple pages or moved to different locations on a page. For example, the links for sorting product listings on a category page execute logic implemented by the /global/gadgets/sortGadget.jsp
file.
The use of gadgets makes it possible to build pages from reusable elements. For example, consider the /navigation/gadgets/search.jsp
gadget, which creates the Search dialog box found on most pages:
<dsp:page> <dsp:importbean bean="/atg/store/StoreConfiguration" /> <div id="atg_store_search"> <dsp:getvalueof var="atgSearchInstalled" bean="StoreConfiguration.atgSearchInstalled" /> <c:choose> <c:when test="${atgSearchInstalled == 'true'}"> <dsp:include page="/atgsearch/gadgets/atgSearch.jsp" /> </c:when> <c:otherwise> <dsp:include page="/search/gadgets/simpleSearch.jsp" /> </c:otherwise> </c:choose> </div> </dsp:page>
This gadget determines whether ATG Search is installed and, if it is, invokes another gadget that creates a search form for issuing queries to ATG Search. If ATG Search is not installed, the /navigation/gadgets/search.jsp
gadget instead invokes a gadget that creates a form for performing database searches.