Struts2 + Freemarker。下面的代码工作正常,但我想知道任何人都可以进一步简化它。我看到重复的代码来生成 html 标签。
下面的代码看起来很多生成带有 3 个链接的自定义菜单
有人有更好的解决方案吗?
<@s.set var="page" value="com.opensymphony.xwork2.ActionContext.name" />
<@s.url action="home" var="urlHome" />
<@s.url action="about" var="urlAbout" />
<@s.url action="contact" var="urlContact" />
<#if page=='home'>
<@currentPage page="%{urlHome}" title="Home"/>
<@s.a href="%{urlAbout}">About Us</@s.a>
<@s.a href="%{urlContact}">Contact Us</@s.a>
<#elseif page=='about' >
<@s.a href="%{urlHome}">Home</@s.a>
<@currentPage page="%{urlAbout}" title="About Us"/>
<@s.a href="%{urlContact}">Contact Us</@s.a>
<#elseif page=='contact' >
<@s.a href="%{urlHome}">Home</@s.a>
<@s.a href="%{urlAbout}">About Us</@s.a>
<@currentPage page="%{urlContact}" title="Contact Us"/>
<#else>
<@currentPage page="%{urlHome}" title="Home"/>
<@s.a href="%{urlAbout}">About Us</@s.a>
<@s.a href="%{urlContact}">Contact Us</@s.a>
</#if>
宏
<#macro currentPage page title>
<div class="menu-image">
<img src="<@s.url value="/images/on-left.gif"/>"/>
</div>
<div class="on">
<@s.a cssClass="over" href="${page}">${title}</@s.a>
</div>
<div class="menu-image">
<img alt="" src="<@s.url value="/images/on-right.gif"/>"/>
</div>
</#macro>