📄 struts.jsl
字号:
<x:set var="_link" select="string(@href)"/> <x:set var="_img" select="string(@img)"/> <x:set var="_childCount" select="count(./item)"/> <j:set var="_isCollapsed" value="${navbean.isCollapsed(item.get(0))}"/> <j:set var="_state" value="none"/> <j:if test="${_childCount.intValue() gt 0}"> <j:if test="${!_isCollapsed}"> <j:set var="_state" value="expanded"/> </j:if> <j:if test="${_isCollapsed}"> <j:set var="_state" value="collapsed"/> </j:if> </j:if> <div> <small> <j:if test="${navbean.isSelected(item.get(0))}"> <b><doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}"/></b> </j:if> <j:if test="${!navbean.isSelected(item.get(0))}"> <doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}"/> </j:if> </small> <j:if test="${!navbean.isCollapsed(item.get(0))}"> <jsl:applyTemplates select="item"/> </j:if> </div> </jsl:template> <!-- Process the breadcrumb navbar --> <jsl:template match="links" trim="false"> <j:set var="linkCount" value="1"/> <x:forEach var="link" select="item"> <j:if test="${linkCount != 1}">|</j:if> <j:set var="_name"><x:expr select="@name"/></j:set> <j:set var="_link"><x:expr select="@href"/></j:set> <doc:itemLink name="${_name}" link="${_link}"/> <j:set var="linkCount" value="${1+linkCount}"/> </x:forEach> </jsl:template> <!-- Google site search --> <jsl:template match="search" trim="false"> <!-- Search code: http://www.google.com/searchcode.html --> <!-- Google logos: http://www.google.com/stickers.html --> <!-- Terms: http://www.google.com./services/terms_free.html --> <div> <strong>Search ${pom.name}</strong> <form method="get" action="http://www.google.com/search"> <a class="navlink" href="http://www.google.com"> <img src="http://www.google.com/logos/Logo_25wht.gif" alt="Google" border="0" /> </a><p/> <j:set var="siteURL" value="${pom.url}"/> <!-- google fails on urls that end with / --> <j:if test="${siteURL.endsWith('/')}"> <j:set var="URLLength" value="${siteURL.length() - 1}"/> <j:set var="siteURL" value="${siteURL.substring(0, URLLength.intValue())}"/> </j:if> <input type="text" size="15" name="q" maxlength="255" value=""/> <input type="submit" value="Go" name="btnG"/> <input type="hidden" name="domains" value="${siteURL}"/> <input type="hidden" id="search" name="sitesearch" value="${siteURL}"/> </form> </div> </jsl:template> <!-- process a documentation section --> <jsl:template match="section" trim="false"> <div class="h3"> <j:set var="_sectionName"><x:expr select="@name"/></j:set> <j:if test="${!empty(_sectionName)}"> <h3> <a name="${_sectionName}">${_sectionName}</a> </h3> </j:if> <jsl:applyTemplates select="*"/> </div> </jsl:template> <jsl:template match="subsection" trim="false"> <div class="h4"> <j:set var="_sectionName"><x:expr select="@name"/></j:set> <j:if test="${!empty(_sectionName)}"> <h4> <a name="${_sectionName}">${_sectionName}</a> </h4> </j:if> <jsl:applyTemplates select="*"/> </div> </jsl:template> <jsl:template match="source" trim="false"> <div id="source"> <pre><x:expr select="."/></pre> </div> </jsl:template> <jsl:template match="footer" trim="false"> <tr> <td> <jsl:applyTemplates select="*"/> </td> </tr> </jsl:template> <jsl:template match="table" trim="false"> <j:set var="rowcount" value="0"/> <table cellpadding="3" cellspacing="2" border="1" width="100%"> <jsl:applyTemplates select="*"/> </table> </jsl:template> <jsl:template match="tr" trim="false"> <j:choose> <j:when test="${rowMode == 'a'}"> <j:set var="rowMode" value="b"/> </j:when> <j:otherwise> <j:set var="rowMode" value="a"/> </j:otherwise> </j:choose> <!-- copy attributes FIXME: Shouldn't this only be colspan|rowspan? --> <x:element name="tr"><j:whitespace trim="true"> <x:attribute name="class">${rowMode}</x:attribute> <x:forEach var="attr" select="@*"> <x:attribute name="${attr.name}">${attr.value}</x:attribute> </x:forEach> <jsl:applyTemplates select="*"/></j:whitespace></x:element> </jsl:template> <!--************************--> <!-- glossary documentation --> <!--************************--> <jsl:template match="glossary" trim="false"> <jsl:applyTemplates select="glossary-entries/glossary-entry" /> </jsl:template> <jsl:template match="glossary-entry" trim="false"> <strong><x:expr select="name" /></strong> <br/> <x:expr select="definition" /> <p/> </jsl:template> <!--************************--> <!-- goals documentation --> <!--************************--> <jsl:template match="goals" trim="false"> <!-- reset row alternation --> <j:set var="rowMode" value="" /> <div class="h3"> <h3><a name="Goals">Goals</a></h3> <table> <tr width='100%'><th>Goal</th><th>Description</th></tr> <jsl:applyTemplates select="goal"/> </table> </div> </jsl:template> <!-- a goal --> <!-- FIXME: this is copied from tr - there must be a way of calling templates in jsl? --> <jsl:template match="goal" trim="false"> <j:choose> <j:when test="${rowMode == 'a'}"> <j:set var="rowMode" value="b"/> </j:when> <j:otherwise> <j:set var="rowMode" value="a"/> </j:otherwise> </j:choose> <x:element name="tr"><j:whitespace trim="true"> <x:attribute name="class">${rowMode}</x:attribute> <j:set var="_goalName"><x:expr select="./name" /></j:set> <td width='20%'><a name="${_goalName}">${_goalName}</a></td> <td width='80%'><jsl:applyTemplates select="description" /></td></j:whitespace></x:element> </jsl:template> <jsl:template match="description"> <jsl:copy trim="false"> <jsl:applyTemplates trim="false"/> </jsl:copy> </jsl:template> <!--************************--> <!-- changelog documentation--> <!--************************--> <jsl:template match="changelog" trim="false"> <j:set var="rowMode" value="" /> <table width="100%"> <tr> <th>Date</th><th>Author</th><th>Files/Message</th> </tr> <jsl:applyTemplates select="changelog-entry" /> </table> </jsl:template> <!-- transform a changelog entry --> <!-- FIXME: tr code copied from above --> <jsl:template match="changelog-entry" trim="false"> <j:choose> <j:when test="${rowMode == 'a'}"> <j:set var="rowMode" value="b"/> </j:when> <j:otherwise> <j:set var="rowMode" value="a"/> </j:otherwise> </j:choose> <x:element name="tr"><j:whitespace trim="true"> <x:attribute name="class">${rowMode}</x:attribute> <td><x:expr select="date" /> <x:expr select="time" /></td> <td><x:expr select="author"/></td> <td><jsl:applyTemplates select="*" /> <pre><x:expr select="msg"/></pre> </td></j:whitespace></x:element> </jsl:template> <jsl:template match="file"> <j:set var="url">${pom.repository.url}<x:expr select="name"/></j:set> <j:set var="revUrl">${url}?<x:expr select="revision"/>&content-type=text/vnd.viewcvs-markup</j:set> <a href="${url}"><x:expr select="name"/></a> - <a href="${revUrl}">v<x:expr select="revision"/></a> <br/> </jsl:template> <!-- remove the space at the end of parsed "a" anchors --> <jsl:template match="a" trim="false"> <jsl:copy trim="true"> <jsl:applyTemplates trim="true"/> </jsl:copy> </jsl:template> <!-- copy any other elements through --> <jsl:template match="*" trim="false"><jsl:copy trim="false"> <jsl:applyTemplates trim="false"/></jsl:copy></jsl:template> <!-- element values don't pass through as text --> <jsl:template match="@*"/> <!-- CDATA and text nodes pass-thru --> <jsl:template match="text()"><x:expr select="."/></jsl:template></jsl:stylesheet>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -