Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ControleMenuManagedBean {
- private String url;
- private MenuModel menuModel;
- @EJB
- private ModuloBusinessRemote moduloBusiness;
- @EJB
- private PaginaBusinessRemote paginaBusiness;
- @PostConstruct
- public void init() {
- this.geraListaModulos();
- }
- public MenuModel geraListaModulos() {
- this.menuModel = new DefaultMenuModel();
- Submenu submenu;
- MenuItem item;
- try {
- for (Modulo modulo : this.moduloBusiness.listar()) {
- submenu = new Submenu();
- submenu.setLabel(modulo.getNome());
- for (Pagina pagina : this.paginaBusiness.listar()) {
- if (pagina.getModulo().getId().equals(modulo.getId())) {
- item = new MenuItem();
- item.setValue(pagina.getNome());
- item.setAjax(false);
- item.setActionExpression(this.createExpression("#{controleMenuMB.getItemMenuSelecionado}", String.class, null));
- item.addActionListener(this.createPropertyActionListener("#{controleMenuMB.url}", pagina.getUrl()));
- submenu.getChildren().add(item);
- }
- }
- this.menuModel.addSubmenu(submenu);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return this.menuModel;
- }
- public void getItemMenuSelecionado() {
- System.out.println("Entro no getMenu");
- FacesContext facesContext = FacesContext.getCurrentInstance();
- String url = this.getUrl();
- System.out.println("URL: " + url);
- }
- private MethodExpression createExpression(final String expression, final Class<?> returnType, final Class<?>[] parameters) {
- FacesContext facesContext = FacesContext.getCurrentInstance();
- Application application = facesContext.getApplication();
- ExpressionFactory expressionFactory = application.getExpressionFactory();
- ELContext elContext = facesContext.getELContext();
- return expressionFactory.createMethodExpression(elContext, expression, returnType, parameters);
- }
- private ValueExpression createValueExpression(final String expression, final Class<?> expectedType) {
- final ExpressionFactory expressionFactory;
- final ELContext elContext;
- FacesContext facesContext = FacesContext.getCurrentInstance();
- expressionFactory = facesContext.getApplication().getExpressionFactory();
- elContext = facesContext.getELContext();
- return expressionFactory.createValueExpression(elContext, expression, expectedType);
- }
- public MenuModel getMenuModel() {
- return menuModel;
- }
- private SetPropertyActionListenerImpl createPropertyActionListener(final String expression, final Object value) {
- final ExpressionFactory expressionFactory;
- FacesContext facesContext = FacesContext.getCurrentInstance();
- expressionFactory = facesContext.getApplication().getExpressionFactory();
- return new SetPropertyActionListenerImpl(createValueExpression(expression, value.getClass()), expressionFactory.createValueExpression(value, value.getClass()));
- }
- public String getUrl() {
- return url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- <ui:composition id="content">
- <h:form>
- <nav id="menuWeb">
- <p:dataList value="#{controller.menusSeleccion}" var="ms" pt:data-inset="true" paginator="false">
- <menu>
- <h:link value="#{ms.nombre}" outcome="#{ms.rutaArchivo}" />
- </menu>
- </p:dataList>
- </nav>
- </h:form>
- </ui:composition>
Advertisement
Add Comment
Please, Sign In to add comment