0
메뉴 바를 동적으로 생성하려고하는데, 이미 그 결과가 있습니다.하지만 DefaultSubMenu가 이미 존재하는지 확인하는 방법이 있습니다. 서브 메뉴가 존재하면 생성 할 필요가 없습니다. 해당 하위 메뉴를 반환하지만 발견되면 동일한 하위 메뉴가 계속 생성됩니다.동적 메뉴 프라임 4.0
public DefaultSubMenu buildSubMenu(OpcionesMenu opcionPrincipal) throws Exception{
DefaultSubMenu subMenu=null;
try {
if(getMenu()==null){
DefaultSubMenu newSubmenu=new DefaultSubMenu(opcionPrincipal.getIdOpcionMenu().toString());
newSubmenu.setId(opcionPrincipal.getNombreMenu());
newSubmenu.setIcon(opcionPrincipal.getIcono());
newSubmenu.setLabel(opcionPrincipal.getNombreMenu());
subMenu= newSubmenu;
}else{
//Checking the list of DefaultSubMenu
List<MenuElement> opciones=getMenu().getElements();
boolean validador=false;
for (MenuElement me : opciones) {
if(me.getId().equals(opcionPrincipal.getNombreMenu())){
validador=true;// if it is found
subMenu=(DefaultSubMenu)me;
}
}
if(!validador){if not found i create the submenu
DefaultSubMenu newSubmenu=new DefaultSubMenu(opcionPrincipal.getIdOpcionMenu().toString());
newSubmenu.setId(opcionPrincipal.getNombreMenu());
newSubmenu.setIcon(opcionPrincipal.getIcono());
newSubmenu.setLabel(opcionPrincipal.getNombreMenu());
subMenu=newSubmenu;
}
}
return subMenu;
} catch (Exception e) {
throw new Exception(
"Error en la clase UsuarioOpcionMenuController - metodo buildSubMenu\n"
+ e.getMessage(), e.getCause());
}
}
도와 주시겠습니까? 당신은
me.getId().equals(opcionPrincipal.getNombreMenu())
me.getId().equalsIgnoreCase(opcionPrincipal.getNombreMenu())
도착 :
: opcionPrincipal.getNombreMenu()
메뉴 옵션의 이름을 반환하고 me.getId()
이 같은 일을 반환 가정
@Cold를 알려주세요. – DuSant
같은 @Cold, 하위 메뉴를 찾았습니다. 내가 찾은 하위 메뉴를 반환한다는 것은 새로운 것으로 받아 들여지고 있습니다. 그만두고 싶습니다. 같은 서브 메뉴에 더 많은 항목을 추가하고 싶습니다 .... 나는 Primeface 3.4에서 일했습니다 ... – DuSant
Ok. 검색된 하위 메뉴를 반환하지 않는 이유는 무엇입니까? 이미 옳은 것을 발견했다면 밸리데이터를 확인할 필요가 없습니다. – Cold