⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lilymenudisplayer.java

📁 基于java的组号查询模块
💻 JAVA
字号:
package com.lily.dap.webapp.strutsmenu;

import java.io.IOException;
import java.text.MessageFormat;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;

import net.sf.navigator.displayer.MenuDisplayerMapping;
import net.sf.navigator.displayer.MessageResourcesMenuDisplayer;
import net.sf.navigator.menu.MenuComponent;

import org.apache.commons.lang.StringUtils;

public class LilyMenuDisplayer extends MessageResourcesMenuDisplayer {
	private static MessageFormat menuMessage = new MessageFormat("''{0}'',''{1}'',''{2}'',''{3}'',''{4}'',''{5}'','''','''','''','''','''','''','''',0,''{6}'',''{7}'',''{8}'',''{9}''");
 
    String tableStart="<TABLE class=Module_Menu cellSpacing=0 cellPadding=0 width=\"99%\" border=0>";
    String tableEnd="</TABLE>";
    String tbodyStart="<TBODY>";
    String tbodyEnd="</TBODY>";
    String trStart="<TR class=BG_TR_1>";
    String trEnd="</TR>";
    String subMenuTdStart="<TD style=\"DISPLAY: none\" width=0>";
    String subMenuTdEnd="</TD>";
    
    int menuID=0;
    int subMenuID=0;
    int level=0;
    
	    //~ Methods ================================================================

    public void init(PageContext context, MenuDisplayerMapping mapping) {
        super.init(context, mapping);

        try {
			out.print(tableStart+"\n"+tbodyStart+"\n"+trStart);
		} catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
    }

    /**
     * Prints the appropriate javascript for CoolMenu using \
     * <code>menuMessage</code> as the format.
     */
    public void display(MenuComponent menu) throws JspException, IOException {
        StringBuffer sb = new StringBuffer();
        buildMenuLevel1String(menu, sb, isAllowed(menu));
        buildMenuLevel2String(menu, sb, isAllowed(menu));
        out.print("\n" +  sb);
    }

    /**
     * This will output the ending javascript statements defined in
     * <code>END_STATEMENT</code> and <code>SCRIPT_END</code>
     */
    public void end(PageContext context) {
        try {
			out.print(trEnd+"\n"+tbodyEnd+"\n"+tableEnd);		
		} catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
    }

    protected void buildMenuLevel1String(MenuComponent menu, StringBuffer sb,
        boolean allowed) { 
    	
        if (allowed) {	
        	menuID = menuID + 1;          	
        	
        	String menuFormat[]=StringUtils.replace(StringUtils.replace(menuMessage.format(getArgs(menu)), "''", ""),"'","").split(",");  
        
        	String menuString=null;         	     
        	if("".equals(menuFormat[2])) menuFormat[2]="&nbsp;";

        	if (menuID > 1)
	        	menuString = "<TD align=middle>|</TD>\n";
        	else
        		menuString = "";
        	
        	if((menuFormat[3].equals(""))||(menuFormat[3].equals("#"))){
	        	menuString += "<TD class=\"menualign\"><A style=\"cursor:hand\" onclick=\"showMenu('ID_Menu_"+menuID+"',100);return false;\">"+menuFormat[2]+"</A></TD>\n";
       		
        	}
        	
        	if((!menuFormat[3].equals(""))&&(!menuFormat[3].equals("#"))){           		
	        	menuString += "<TD class=\"menualign\"><A style=\"cursor:hand\" onclick=\"OpenWindow('"+menuFormat[3]+"','"+menuFormat[4]+"',1,1);;return false;\" onclick=''>"+menuFormat[2]+"</A></TD>\n";
        	}
        	
        	if(menuFormat.length>15){
	        	if((!menuFormat[15].equals(""))){  
	        		menuFormat[15] = StringUtils.replace(StringUtils.replace(menuFormat[15], "^", ","), "*", "'");
		        	menuString += "<TD class=\"menualign\"><A style=\"cursor:hand\" onclick=\""+menuFormat[15]+" \">"+menuFormat[2]+"</A></TD>\n";
	        	}
        	}
        	
        	try {
				out.print(menuString);
			} catch (IOException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			} 
        }
    	
    	
    } 
    
    protected void buildMenuLevel2String(MenuComponent menu, StringBuffer sb,
            boolean allowed) { 
        	try {
        		subMenuID = subMenuID + 1;
            if (allowed) {	            	       
            	String menuString=null;	    
            	out.print(subMenuTdStart); 
                MenuComponent[] subMenus = menu.getMenuComponents();                
                if (subMenus.length > 0) {
                	subMenuID = subMenuID + 1;
                    for (int i = 0; i < subMenus.length; i++) {
                    	
                    	String menuFormat[]=StringUtils.replace(StringUtils.replace(menuMessage.format(getArgs(subMenus[i])), "''", ""),"'","").split(",");
                    	   if("".equals(menuFormat[2])) menuFormat[2]="&nbsp;";	                    	
//	                    	以下条件注解:如果menuFormat[3]!=""则表明此菜单有连接,则应该用OpenWindow打开页面 
	                    	MenuComponent[] subSubMenus = subMenus[i].getMenuComponents();
	                        if (subSubMenus.length > 0) {
		                    	if(!"".equals(menuFormat[3])){
		                    		menuString="<A id=ID_Menu_"+menuID+" subMenuID=subMenu"+subMenuID+i+" onclick=\"OpenWindow('"+menuFormat[3]+"','"+menuFormat[4]+"',1,1);;return false;\">"+menuFormat[2]+"</A>\n";	                    	
		                    	}
		                    	if("".equals(menuFormat[3])){
		                    		menuString="<A id=ID_Menu_"+menuID+" subMenuID=subMenu"+subMenuID+i+">"+menuFormat[2]+"</A>\n";		                    		
		                    	}
		                    	if(menuFormat.length>15){
			                    	if(!"".equals(menuFormat[15])){
			        	        		menuFormat[15] = StringUtils.replace(StringUtils.replace(menuFormat[15], "^", ","), "*", "'");
			                    		menuString="<A id=ID_Menu_"+menuID+" subMenuID=subMenu"+subMenuID+i+" onclick=\""+menuFormat[15]+"\">"+menuFormat[2]+"</A>\n";	                    	
			                    	}
		                    	}
	                            for (int j = 0; j < subSubMenus.length; j++) {
	                            	buildMenuLevel3String(subSubMenus[j], sb, ""+subMenuID+i);
	                              }
	                          }else{	
	                        	  
	  	                    	if(!"".equals(menuFormat[3])){
		                    		menuString="<A id=ID_Menu_"+menuID+" onclick=\"OpenWindow('"+menuFormat[3]+"','"+menuFormat[4]+"',1,1);;return false;\">"+menuFormat[2]+"</A>\n";	                    	
		                    	}
	  	                    	if("".equals(menuFormat[3])){
		                    		menuString="<A id=ID_Menu_"+menuID+">"+menuFormat[2]+"</A>\n";		                    		
		                    	}
	  	                    	if(menuFormat.length>15){
		  	                    	if(!"".equals(menuFormat[15])){
		  	                    		menuFormat[15] = StringUtils.replace(StringUtils.replace(menuFormat[15], "^", ","), "*", "'");
			                    		menuString="<A id=ID_Menu_"+menuID+" onclick=\""+menuFormat[15]+" \">"+menuFormat[2]+"</A>\n";	                    	
			                    	}
	  	                    	}
	                          }	                          	                          
                    	out.print(menuString);  
                    }
                }
                out.print(subMenuTdEnd);

              }
        	} catch (IOException e) {
    			// TODO 自动生成 catch 块
    			e.printStackTrace();
    		}
        	
        } 
    protected void buildMenuLevel3String(MenuComponent menu, StringBuffer sb, String menuID) { 
        	try {
        		                 	       
            	String menuString=null;	 
                    	
            	String menuFormat[]=StringUtils.replace(StringUtils.replace(menuMessage.format(getArgs(menu)), "''", ""),"'","").split(","); 
                    	
            	if("".equals(menuFormat[2])) menuFormat[2]="&nbsp;";
        		if(!"".equals(menuFormat[3])){//如果menuFormat[3]!=""则表明此菜单有连接,则应该用OpenWindow打开页面
            		menuString="<A id=subMenu"+menuID+" onclick=\"OpenWindow('"+menuFormat[3]+"','"+menuFormat[4]+"',1,1);return false;\">"+menuFormat[2]+"</A>\n";
            	}
        		if("".equals(menuFormat[3])){
            		menuString="<A id=subMenu"+menuID+">"+menuFormat[2]+"</A>\n"; 
            	}
        		if(menuFormat.length>15){
            	 	if(!"".equals(menuFormat[15])){
    	        		menuFormat[15] = StringUtils.replace(StringUtils.replace(menuFormat[15], "^", ","), "*", "'");
                		menuString="<A id=subMenu"+menuID+" onclick=\""+menuFormat[15]+" \">"+menuFormat[2]+"</A>\n";	                    	
                	}
        		}
            	out.print(menuString);  
  
        	} catch (IOException e) {
    			// TODO 自动生成 catch 块
    			e.printStackTrace();
    		}
        	
        } 
 
    protected String[] getArgs(MenuComponent menu) {
        String[] args = new String[10];
        args[0] = menu.getName();
        args[1] = getParentName(menu);
        args[2] =
            (menu.getImage() != null)
            ? (displayStrings.getMessage("cm.image", menu.getImage()) + " " +
			getMessage(menu.getTitle())) : getMessage(menu.getTitle());
        args[3] = (menu.getUrl() == null) ? EMPTY : menu.getUrl();
        args[4] = getTarget(menu);
        args[5] = (menu.getWidth() == null) ? EMPTY : menu.getWidth();
        args[6] = (menu.getAlign() == null) ? EMPTY : menu.getAlign();
        args[7] = (menu.getOnclick() == null) ? EMPTY : menu.getOnclick();
        args[8] =
            (menu.getOnmouseover() == null) ? EMPTY : menu.getOnmouseover();
        args[9] = (menu.getOnmouseout() == null) ? EMPTY : menu.getOnmouseout();

        // fix image HTML to escape double quotes for JavaScript
        args[2] = StringUtils.replace(args[2], "\"", "\\\"");

        return args;
    }


    protected String getParentName(MenuComponent menu) {
        String name = null;

        if (menu.getParent() == null) {
            name = "";
        } else {
            name = menu.getParent().getName();
        }

        return name;
    }

    protected String getTarget(MenuComponent menu) {
        String theTarget = super.getTarget(menu);

        if (theTarget == null) {
            theTarget = EMPTY;
        }

        return theTarget;
    }
}

⌨️ 快捷键说明

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