📄 tabbedmenudisplayer.java
字号:
package net.sf.navigator.displayer;import net.sf.navigator.menu.MenuComponent;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;/** * * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a> * @version 1.0 */public class TabbedMenuDisplayer extends ListMenuDisplayer { //~ Instance fields ======================================================== private Log log = LogFactory.getLog(TabbedMenuDisplayer.class); //~ Methods ================================================================ public void display(MenuComponent menu) throws JspException, IOException { if (isAllowed(menu)) { displayComponents(menu, 0); } } protected void displayComponents(MenuComponent menu, int level) throws JspException, IOException { MenuComponent[] components = menu.getMenuComponents(); if (components.length > 0) { out.print("\t<li>"); String menuClass = "submenu"; if (level >= 1) { menuClass = "deepmenu"; } if (menu.getUrl() == null) { log.info("The Menu '" + getMessage(menu.getTitle()) + "' does not have a location defined, using first submenu's location"); menu.setUrl(components[0].getUrl()); } out.print(displayStrings.getMessage("tmd.menu.tab", menu.getUrl(), super.getMenuToolTip(menu), getExtra(menu), getMessage(menu.getTitle()))); for (int i = 0; i < components.length; i++) { // check the permissions on this component if (isAllowed(components[i])) { if (components[i].getMenuComponents().length > 0) { // and an <li> for submenus (but not deepmenus) if (menuClass.equals("submenu")) { out.print("<li>"); } displayComponents(components[i], level + 1); out.println("</ul></li>"); if (i == (components[i].getMenuComponents().length - 1)) { // last one out.println("</li>"); } } else { out.println(displayStrings.getMessage("tmd.menu.item", components[i].getUrl(), super.getMenuToolTip(components[i]), getExtra(components[i]), this.getMessage(components[i].getTitle()))); } } } // close the </ul> for the top menu if (menuClass.equals("submenu")) { out.println("\t</ul>"); } out.print("\t</li>"); } else { out.println(displayStrings.getMessage("tmd.menu.item", menu.getUrl(), super.getMenuToolTip(menu), getExtra(menu), getMessage(menu.getTitle()))); } } /** * This will output the ending javascript statements to intialize each menu * <code>END_STATEMENT</code> and <code>SCRIPT_END</code> */ public void end(PageContext context) { try { out.print(displayStrings.getMessage("lmd.end")); } catch (Exception e) {} } private String getExtra(MenuComponent menu) { StringBuffer extra = new StringBuffer(); if (menu.getTarget() != null) { extra.append(" target=\"" + menu.getTarget() + "\""); } if (menu.getOnclick() != null) { extra.append(" onclick=\"" + menu.getOnclick() + "\""); } return (extra.length() > 0) ? extra.toString() : ""; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -