📄 dropmenumaker.java
字号:
/*
* Created on 2004-8-22
*
*/
package com.esimple.framework.web.taglib.menu;
/**
* @author steven
*
*/
public class DropMenuMaker {
private static final String prefix_root = "var myMenu =[ \n";
private static final String postfix_root = "\n];";
private static final String prefix = "[";
private static final String postfix = "],";
public static String makeMenu(MenuModel model) {
StringBuffer buffer = new StringBuffer();
if (model.isRoot()) {
buffer.append(prefix_root);
}
getMenuText(model, buffer);
if (model.isRoot()) {
buffer.append(postfix_root);
}
return buffer.toString();
}
private static void getMenuText(MenuModel model, StringBuffer buffer) {
if (!model.isRoot())
getOneMenuText(model, buffer);
if (model.isLeaf()) {
buffer.append(postfix);
return;
} else {
for (int i = 0; i < model.getChildenSize(); i++) {
MenuModel child = model.getChild(i);
getMenuText(child, buffer);
}
if (!model.isRoot()) {
buffer.append("\n");
buffer.append(postfix);
}
}
}
private static void getOneMenuText(MenuModel model, StringBuffer buffer) {
buffer.append(prefix);
if (model.getIcon() != null) {
buffer.append("'");
buffer.append(model.getIcon());
buffer.append("'");
} else {
buffer.append("' '");
}
buffer.append(",");
if (model.getLabel() != null) {
buffer.append("'");
buffer.append(model.getLabel());
buffer.append("'");
} else {
buffer.append("null");
}
buffer.append(",");
if (model.getAction() != null) {
buffer.append("'");
buffer.append(model.getAction());
buffer.append("'");
} else {
buffer.append("null");
}
buffer.append(",");
if (model.getTarget() != null) {
buffer.append("'");
buffer.append(model.getTarget());
buffer.append("'");
} else {
buffer.append("null");
}
buffer.append(",");
if (model.getTips() != null) {
buffer.append("'");
buffer.append(model.getTips());
buffer.append("'");
} else {
buffer.append("null");
}
if (!model.isLeaf()) {
buffer.append(",\n");
}
}
public static void main(String[] args) {
MenuModel root = new MenuModel();
root.setRoot(true);
MenuModel model = new MenuModel("menu1", "tips1");
MenuModel model1_1 = new MenuModel("menu11", "tips11");
MenuModel model1_1_1 = new MenuModel("icon","meu111", "action", null,"tips");
MenuModel model2 = new MenuModel("menu2", "tips2");
MenuModel model2_2 = new MenuModel("icon","meu21", "action", null,"tips");
model1_1.addChild(model1_1_1);
model.addChild(model1_1);
model2.addChild(model2_2 );
root.addChild(model);
root.addChild(model2);
System.out.println(makeMenu(root));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -