import java.util.ArrayList;
import java.util.List;
static class MenuBean {
private String screen
; // id_modulo private String parentid
; // parent_id private String titulomenu
; // nombre private int orden; // orden
this.screen = screen;
this.titulomenu = titulomenu;
this.parentid = parentid;
this.link = link;
}
return screen;
}
public void setScreen
(String screen
) { this.screen = screen;
}
return parentid;
}
public void setParentid
(String parentid
) { this.parentid = parentid;
}
public String getTitulomenu
() { return titulomenu;
}
public void setTitulomenu
(String titulomenu
) { this.titulomenu = titulomenu;
}
public int getOrden() {
return orden;
}
public void setOrden(int orden) {
this.orden = orden;
}
return link;
}
public void setLink
(String link
) { this.link = link;
}
}
public static void main
(String[] args
) { List<MenuBean> list = new ArrayList<>();
list.add(new MenuBean("1", "Autos", "0", "#"));
list.add(new MenuBean("2", "Honda", "1", "#honda.html"));
list.add(new MenuBean("3", "Toyota", "1", "#"));
list.add(new MenuBean("4", "Cilindros", "3", "#"));
list.add(new MenuBean("5", "Camiones", "0", "#"));
StringBuilder sb = new StringBuilder();
buildMenu(sb, list, "0");
System.
out.
println(sb.
toString()); }
public static void buildMenu
(StringBuilder sb, List
<MenuBean
> list,
String id
) { sb.append("<ul>");
for (MenuBean bean : list) {
if (bean.getParentid().equals(id)) {
sb.append("<li>");
sb.append(bean.getTitulomenu());
buildMenu(sb, list, bean.getScreen());
sb.append("</li>");
}
}
sb.append("</ul>");
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmNsYXNzIE1lbnUgewoKICAgIHN0YXRpYyBjbGFzcyBNZW51QmVhbiB7CgogICAgICAgIHByaXZhdGUgU3RyaW5nIHNjcmVlbjsgLy8gaWRfbW9kdWxvCiAgICAgICAgcHJpdmF0ZSBTdHJpbmcgcGFyZW50aWQ7IC8vIHBhcmVudF9pZAogICAgICAgIHByaXZhdGUgU3RyaW5nIHRpdHVsb21lbnU7IC8vIG5vbWJyZQogICAgICAgIHByaXZhdGUgaW50IG9yZGVuOyAvLyBvcmRlbgogICAgICAgIHByaXZhdGUgU3RyaW5nIGxpbms7IC8vIGxpbmsKCiAgICAgICAgcHVibGljIE1lbnVCZWFuKFN0cmluZyBzY3JlZW4sIFN0cmluZyB0aXR1bG9tZW51LCBTdHJpbmcgcGFyZW50aWQsIFN0cmluZyBsaW5rKSB7CiAgICAgICAgICAgIHRoaXMuc2NyZWVuID0gc2NyZWVuOwogICAgICAgICAgICB0aGlzLnRpdHVsb21lbnUgPSB0aXR1bG9tZW51OwogICAgICAgICAgICB0aGlzLnBhcmVudGlkID0gcGFyZW50aWQ7CiAgICAgICAgICAgIHRoaXMubGluayA9IGxpbms7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgU3RyaW5nIGdldFNjcmVlbigpIHsKICAgICAgICAgICAgcmV0dXJuIHNjcmVlbjsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyB2b2lkIHNldFNjcmVlbihTdHJpbmcgc2NyZWVuKSB7CiAgICAgICAgICAgIHRoaXMuc2NyZWVuID0gc2NyZWVuOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIFN0cmluZyBnZXRQYXJlbnRpZCgpIHsKICAgICAgICAgICAgcmV0dXJuIHBhcmVudGlkOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHZvaWQgc2V0UGFyZW50aWQoU3RyaW5nIHBhcmVudGlkKSB7CiAgICAgICAgICAgIHRoaXMucGFyZW50aWQgPSBwYXJlbnRpZDsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBTdHJpbmcgZ2V0VGl0dWxvbWVudSgpIHsKICAgICAgICAgICAgcmV0dXJuIHRpdHVsb21lbnU7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgdm9pZCBzZXRUaXR1bG9tZW51KFN0cmluZyB0aXR1bG9tZW51KSB7CiAgICAgICAgICAgIHRoaXMudGl0dWxvbWVudSA9IHRpdHVsb21lbnU7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgaW50IGdldE9yZGVuKCkgewogICAgICAgICAgICByZXR1cm4gb3JkZW47CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgdm9pZCBzZXRPcmRlbihpbnQgb3JkZW4pIHsKICAgICAgICAgICAgdGhpcy5vcmRlbiA9IG9yZGVuOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIFN0cmluZyBnZXRMaW5rKCkgewogICAgICAgICAgICByZXR1cm4gbGluazsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyB2b2lkIHNldExpbmsoU3RyaW5nIGxpbmspIHsKICAgICAgICAgICAgdGhpcy5saW5rID0gbGluazsKICAgICAgICB9CgogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBMaXN0PE1lbnVCZWFuPiBsaXN0ID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgbGlzdC5hZGQobmV3IE1lbnVCZWFuKCIxIiwgIkF1dG9zIiwgIjAiLCAiIyIpKTsKICAgICAgICBsaXN0LmFkZChuZXcgTWVudUJlYW4oIjIiLCAiSG9uZGEiLCAiMSIsICIjaG9uZGEuaHRtbCIpKTsKICAgICAgICBsaXN0LmFkZChuZXcgTWVudUJlYW4oIjMiLCAiVG95b3RhIiwgIjEiLCAiIyIpKTsKICAgICAgICBsaXN0LmFkZChuZXcgTWVudUJlYW4oIjQiLCAiQ2lsaW5kcm9zIiwgIjMiLCAiIyIpKTsKICAgICAgICBsaXN0LmFkZChuZXcgTWVudUJlYW4oIjUiLCAiQ2FtaW9uZXMiLCAiMCIsICIjIikpOwogICAgICAgIFN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwogICAgICAgIGJ1aWxkTWVudShzYiwgbGlzdCwgIjAiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oc2IudG9TdHJpbmcoKSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIGJ1aWxkTWVudShTdHJpbmdCdWlsZGVyIHNiLCBMaXN0PE1lbnVCZWFuPiBsaXN0LCBTdHJpbmcgaWQpIHsKICAgICAgICBzYi5hcHBlbmQoIjx1bD4iKTsKICAgICAgICBmb3IgKE1lbnVCZWFuIGJlYW4gOiBsaXN0KSB7CiAgICAgICAgICAgIGlmIChiZWFuLmdldFBhcmVudGlkKCkuZXF1YWxzKGlkKSkgewogICAgICAgICAgICAgICAgc2IuYXBwZW5kKCI8bGk+Iik7CiAgICAgICAgICAgICAgICBzYi5hcHBlbmQoYmVhbi5nZXRUaXR1bG9tZW51KCkpOwogICAgICAgICAgICAgICAgYnVpbGRNZW51KHNiLCBsaXN0LCBiZWFuLmdldFNjcmVlbigpKTsKICAgICAgICAgICAgICAgIHNiLmFwcGVuZCgiPC9saT4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBzYi5hcHBlbmQoIjwvdWw+Iik7CiAgICB9Cgp9Cg==