messageresourcesmenudisplayer.java

来自「Struts Menu这是为基于JSP和Struts的应用程序提供的Web菜单框」· Java 代码 · 共 143 行

JAVA
143
字号
/* * MessageResourcesMenuDisplayer.java * * Created on February 6, 2001, 3:34 PM */package net.sf.navigator.displayer;import java.io.IOException;import java.util.Locale;import java.util.MissingResourceException;import java.util.ResourceBundle;import javax.servlet.jsp.JspException;import net.sf.navigator.menu.MenuComponent;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.struts.util.MessageResources;/** * * @author  ssayles * @version */public abstract class MessageResourcesMenuDisplayer    extends AbstractMenuDisplayer {        private static Log log = LogFactory.getLog(MessageResourcesMenuDisplayer.class);        //~ Instance fields ========================================================    protected Object messages = null;    protected Locale locale = null;    //~ Methods ================================================================    public Locale getLocale() {        return locale;    }    public void setLocale(Locale locale) {        this.locale = locale;    }    public Object getMessageResources() {        return messages;    }    public void setMessageResources(Object messages) {        this.messages = messages;    }    /**     * Get the title key from the bundle (if it exists).  This method     * is public to expose it to Velocity.     *      * @param key the key     */    public String getMessage(String key) {        String message = null;                if (messages != null && (messages instanceof MessageResources)) {               if (log.isDebugEnabled()) {            	log.debug("Looking up message '" + key                         + "' in Struts' MessageResources");            }            MessageResources resources = (MessageResources) messages;            try {                if (locale != null) {                    message = resources.getMessage(locale, key);                } else {                    message = resources.getMessage(key);                }            } catch (Throwable t) {                message = null;            }        } else if (messages != null && messages instanceof ResourceBundle) {            if (log.isDebugEnabled()) {                log.debug("Looking up string '" + key + "' in ResourceBundle");            }            ResourceBundle bundle = (ResourceBundle) messages;            try {            	message = bundle.getString(key);            } catch (MissingResourceException mre) {            	message = null;            }        } else {            message = key;        }        if (message == null) {            message = key;        }        return message;    }	/**	 * Get the menu's target (if it exists).  This method	 * is public to expose it to Velocity.	 * 	 * @param menu	 */	public String getMenuTarget(MenuComponent menu) {        String menuTarget = target;        if (this.target != null) {            menuTarget = target;        } else {            if (menu.getTarget() != null) {                menuTarget = menu.getTarget();            } else {                menuTarget = MenuDisplayer._SELF;            }        }        return menuTarget;    }	/**	 * Get the menu's tooltip (if it exists).  This method	 * is public to expose it to Velocity.	 * 	 * @param menu	 */	public String getMenuToolTip(MenuComponent menu) {        String tooltip = EMPTY;        if (menu.getToolTip() != null) {            tooltip = this.getMessage(menu.getToolTip());        } else {            tooltip = this.getMessage(menu.getTitle());        }        return tooltip;    }    public abstract void display(MenuComponent menu)    throws JspException, IOException;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?