Mostrar Array de objetos dentro de outro Array de objetos

17 respostas
C

Boa tarde pessoALL

Estou novamente aqui, para ver se vcs conseguem me ajudar

tenho este BIN (menuPai)

public class MenuBin {
	private String mnupor;
	private String mnucod;
	private String mnutxt;
	private String mnuweb;
	private String mnurot;
	private ArrayList mnufil;
	
	public MenuBin() 	{
		this.mnupor  = null;
		this.mnucod  = null;
		this.mnutxt  = null;
		this.mnuweb  = null;
		this.mnurot  = null;
		this.mnufil  = null;

getter e setter ocultados...
}

tenho agora este outro bin (menuFilho)

public class MenuFilhoBin {
	private String mnufilpor;
	private String mnufilcod;
	private String mnufiltxt;
	private String mnufilweb;
	private String mnufilrot;

	public MenuFilhoBin() 	{
		this.mnufilpor  = null;
		this.mnufilcod  = null;
		this.mnufiltxt  = null;
		this.mnufilweb  = null;
		this.mnufilrot  = null;
	}
}

tenho o dao (menuPai)

comandos de conexão, sql, resultset omitidos
		while (rs.next()) {
			MenuBin menuList = new MenuBin();
		        //estanciando o objeto Usuario
			menuList.setMnupor(rs.getString(1));
	        	menuList.setMnucod(rs.getString(2));
		        menuList.setMnutxt(rs.getString(3));
		        menuList.setMnuweb(rs.getString(4));
	        	menuList.setMnurot(rs.getString(5));
		        MenuFilhoDao menuFilho = new MenuFilhoDao();
			ArrayList listFilho = menuFilho.locMenuFilho(codmenu,rs.getString(2));
			menuList.setMnuFil(listFilho);
        
		        list.add(menuList);
		}

Agora o dao do Filho

comandos de conexão, sql, resultset omitidos
while (rs1.next()) {
	MenuFilhoBin menuList = new MenuFilhoBin();
        //estanciando o objeto Usuario
	menuList.setMnufilpor(rs1.getString(1));
        menuList.setMnufilcod(rs1.getString(2));
       	menuList.setMnufiltxt(rs1.getString(3));
        menuList.setMnufilweb(rs1.getString(4));
        menuList.setMnufilrot(rs1.getString(5));
	        
        list.add(menuList);
}

Tenho o controler

String menuTxt = user.getMenu();
MenuDao menu = new MenuDao();
ArrayList<MenuBin>list = new ArrayList<MenuBin>();
list = menu.locMenu(menuTxt);

request.setAttribute("menuload", list);

RequestDispatcher rd = request.getRequestDispatcher("index.jsp");  
rd.forward(request, response);

Listo o conteudo de list

for(Iterator<MenuBin> imenu = list.iterator(); imenu.hasNext(); ) {
	MenuBin pai = new MenuBin();
	pai = imenu.next();
	listfil = pai.getMnuFil();
	System.out.println(pai.getMnutxt());
	System.out.println("------------------------");
	for(Iterator<MenuFilhoBin> imenufil = listfil.iterator(); imenufil.hasNext();) {
		MenuFilhoBin filho = new MenuFilhoBin();
		filho = imenufil.next();
		System.out.println(filho.getMnufiltxt());
	}
}

/*
resultado:

Crm                                     
------------------------
Ficha Cadastral Cliente                 
Prospect                                
Representante                           
Pedidos                                 
------------------------
Inclusoes                               
------------------------
HelpDesk                                
------------------------
Chamados 
*/

chamo no jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach var="menupai" items="${menuload}" varStatus="idnum" >
	<li class="menuparent"><a href="#" class="menuPrincipal">${menupai.mnutxt}</a>
	<c:forEach var="menufilho" items="${menupai.mnufil}" varStatus="idnum" >
		<ul style="background:#E3E3E3;">
			<li  onMouseOver="this.style.background = '#C5AC7A'" onMouseOut="this.style.background = '#E3E3E3'">
				<a href="#" style="color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; height:20">${menufilho.mnufiltxt}</a>
			</li>
		</ul>
	</c:forEach>
</c:forEach>

Erro gerado

26/11/2008 16:28:38 org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'mnufil' not found on type util.modulo.MenuBin

Observando meu Bin do MenuBin ele está lá sim declarado e Alimentado corretamente com os “menus filhos”

porém não estou conseguindo jogar estes menus filhos no jsp.

Agradeço a quem tiver paciencia de observar meus códigos e tentar me ajudar.

Desde já

Christian

17 Respostas

C

Boa tarde, consegui fazendo com script :confused: queria sair deles, alguem pode me ajudar ?

segue o codigo com script

<%@page import="util.modulo.*" %>
<%@page import="java.util.*" %>
<ul id="primary-nav" style="width:100%; border:none;">
<%
	if(session.getAttribute("usuario") != null)
	{
		MenuDao menu = new MenuDao();
		ArrayList<MenuBin>list = new ArrayList<MenuBin>();
		list = menu.locMenu(session.getAttribute("menuLogin").toString());
		ArrayList listfil;
		for(Iterator<MenuBin> imenu = list.iterator(); imenu.hasNext(); ) {
			MenuBin pai = new MenuBin();
			pai = imenu.next();
			listfil = pai.getMnuFil();
%>
	<li class="menuparent"><a href="#" class="menuPrincipal"><%out.print(pai.getMnutxt());%></a>
		<ul style="background:#E3E3E3;">
<%
			for(Iterator<MenuFilhoBin> imenufil = listfil.iterator(); imenufil.hasNext();) {
				MenuFilhoBin filho = new MenuFilhoBin();
				filho = imenufil.next();
%>
			<li  onMouseOver="this.style.background = '#C5AC7A'" onMouseOut="this.style.background = '#E3E3E3'">
				<a href="#" style="color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; height:20"><%out.print(filho.getMnufiltxt());%></a>
			</li>
<%
			}
%>
		</ul>
	</li>
<%
		}
	}
%>
</ul>
C

UP UP

C

Será que ninguém tem alguma dica ?

1 for dentro de outro for no jstl ???

Realmente não queria mexer com script mas ta complicado :confused:

Christian

Rodrigo_Pereira_Vale

Olá Camillen…

Crie uma classe que faça isso para você (gerar esse html dos menus recheados com o conteudo que vc quer) e faça essa classe “cuspir” o resultado na forma de uma string no seu jsp… cmo isso vc tira a lógica da view.

[]'s

rpb.cold

Vi que você quer o for por JSTL .. veja se o que fiz uma vez para o menu te ajuda:

<!--|**INÍCIO DOS MENUS-->
<div class="imrcmain0 imgl" style="width:1000px;z-index:999999;position:relative;"><div class="imcm imde" id="imouter0"><ul id="imenus0">
<c:forEach items="${sessionScope.menu.filhos}" var="mn">
<c:if test="${not empty mn.filhos}">
   <li class="imatm"  style="<c:out value='${mn.cssStyle}'/>"><a class=""  ><span class="imea imeam"><span></span></span> <c:out value="${mn.descricao}"/></a>
        <c:forEach items="${mn.filhos}" begin="${fn:length(mn.filhos)-1}" var="mSt">
        <div class="imsc"><div class="imsubc" style="<c:out value='${mSt.cssStyle}'/>"><ul style="">
            <c:forEach items="${mn.filhos}" var="mnitens">
                <li><a  onClick='<c:out value='${mnitens.eventoOnClick}'/>'><img src="<c:out value='${mnitens.icone}'/>" width="<c:out value='${mnitens.iconeWidth}'/>" height="<c:out value='${mnitens.iconeHeight}'/>"> <c:out value='${mnitens.descricao}'/></a></li>
                <c:if test="${not empty mnitens.filhos}">
                    <c:forEach items="${mnitens.filhos}" begin="${fn:length(mnitens.filhos)-1}" var="mSt2">                     
                        <div class="imsc"><div class="imsubc" style="<c:out value='${mSt2.cssStyle}'/>"><ul style="">
                        <c:forEach items="${mnitens.filhos}" var="mnSitens">
                            <li><a  onClick='<c:out value='${mnSitens.eventoOnClick}'/>'><img src="<c:out value='${mnSitens.icone}'/>" width="<c:out value='${mnSitens.iconeWidth}'/>" height="<c:out value='${mnSitens.iconeHeight}'/>"> <c:out value='${mnSitens.descricao}'/></a></li>
                        </c:forEach>
                        </ul></div></div>
                    </c:forEach>
                    </li>
                </c:if>
            </c:forEach>
        </ul></div></div>           
        </c:forEach>
    </li>
</c:if>
</c:forEach>
</ul><div class="imclear">&nbsp;</div></div></div>
<!--|**FIM DOS MENUS**|-->

Aconselho que você coloque o codigo em um editor de textos. Vou ver se monto o seu codigo para vc ver .... se te ajuda

att,

Renan

C

Rodrigo Pereira Valentim:
Olá Camillen…

Crie uma classe que faça isso para você (gerar esse html dos menus recheados com o conteudo que vc quer) e faça essa classe “cuspir” o resultado na forma de uma string no seu jsp… cmo isso vc tira a lógica da view.

[]'s

Sim até ai entendi tranquilo, porém não queria misturar os dados no padrão mvc.

Christian

C
rpb.cold:
Vi que você quer o for por JSTL .. veja se o que fiz uma vez para o menu te ajuda:
<!--|**INÍCIO DOS MENUS-->
<div class="imrcmain0 imgl" style="width:1000px;z-index:999999;position:relative;"><div class="imcm imde" id="imouter0"><ul id="imenus0">
<c:forEach items="${sessionScope.menu.filhos}" var="mn">
<c:if test="${not empty mn.filhos}">
   <li class="imatm"  style="<c:out value='${mn.cssStyle}'/>"><a class=""  ><span class="imea imeam"><span></span></span> <c:out value="${mn.descricao}"/></a>
        <c:forEach items="${mn.filhos}" begin="${fn:length(mn.filhos)-1}" var="mSt">
        <div class="imsc"><div class="imsubc" style="<c:out value='${mSt.cssStyle}'/>"><ul style="">
            <c:forEach items="${mn.filhos}" var="mnitens">
                <li><a  onClick='<c:out value='${mnitens.eventoOnClick}'/>'><img src="<c:out value='${mnitens.icone}'/>" width="<c:out value='${mnitens.iconeWidth}'/>" height="<c:out value='${mnitens.iconeHeight}'/>"> <c:out value='${mnitens.descricao}'/></a></li>
                <c:if test="${not empty mnitens.filhos}">
                    <c:forEach items="${mnitens.filhos}" begin="${fn:length(mnitens.filhos)-1}" var="mSt2">                     
                        <div class="imsc"><div class="imsubc" style="<c:out value='${mSt2.cssStyle}'/>"><ul style="">
                        <c:forEach items="${mnitens.filhos}" var="mnSitens">
                            <li><a  onClick='<c:out value='${mnSitens.eventoOnClick}'/>'><img src="<c:out value='${mnSitens.icone}'/>" width="<c:out value='${mnSitens.iconeWidth}'/>" height="<c:out value='${mnSitens.iconeHeight}'/>"> <c:out value='${mnSitens.descricao}'/></a></li>
                        </c:forEach>
                        </ul></div></div>
                    </c:forEach>
                    </li>
                </c:if>
            </c:forEach>
        </ul></div></div>           
        </c:forEach>
    </li>
</c:if>
</c:forEach>
</ul><div class="imclear">&nbsp;</div></div></div>
<!--|**FIM DOS MENUS**|-->

Aconselho que você coloque o codigo em um editor de textos. Vou ver se monto o seu codigo para vc ver .... se te ajuda

att,

Renan

Opa renan, sim exatamente isso que estava querendo, porém quando eu tento pegar os valores do segundo foreach, que estão dentro de 1 array de objetos do menupai ele dá erro :/

no seu caso, é 1 Objeto com array de objetos, ou são variáveis de objetos separados que você está passando

Exemplo

sessionScope.menu.filhos neste array contem tudo, ou vc utiliza mais beans ?

rpb.cold

eu utilizo mais beans … cada vez que eu faço FULANO.filhos eu recupero um novo bean

rpb.cold

acredito que você pode fazer assim olha o exemplo só adicione os codigo HTML para ficar melhor para vc:

<c:forEach items="sessionScope.menuLogin" var="pai"> <c:out value="${pai.descricao}"/> <c:out value="${pai.link}"/> <c:if test="${not empty pai.getMenuFilho}"> <c:forEach items="pai.getMenuFilho" var="filho"> <c:out value="${filho.descricao}"/> <c:out value="${filho.link}"/> </c:forEach> </c:if> </c:forEach>

C

rpb.cold:
acredito que você pode fazer assim olha o exemplo só adicione os codigo HTML para ficar melhor para vc:

<c:forEach items="sessionScope.menuLogin" var="pai"> <c:out value="${pai.descricao}"/> <c:out value="${pai.link}"/> <c:if test="${not empty pai.getMenuFilho}"> <c:forEach items="pai.getMenuFilho" var="filho"> <c:out value="${filho.descricao}"/> <c:out value="${filho.link}"/> </c:forEach> </c:if> </c:forEach>

Foto do menuPai sendo gerado

Codigo de como estou carregando o menuPai com 1 array de menu filho.

ArrayList<MenuBin> menubin = new ArrayList<MenuBin>();
MenuDao menudao = new MenuDao();
try {
	menubin = menudao.locMenu(user.getMenu());
	request.setAttribute("menuPai", menubin);
	RequestDispatcher rd = request.getRequestDispatcher("index.jsp");  
	rd.forward(request, response); 			
} catch (SQLException e) {
	// TODO Auto-generated catch block
e.printStackTrace();
}

Como estou chamando no jsp

<mnu:forEach items="${menuPai}" var="pai">   
	<mnu:out value="${pai.mnutxt}"/>   
	<mnu:out value="${pai.mnurot}"/>   
	<mnu:if test="${not empty pai.mnufil}">   
		<mnu:forEach items="pai.mnufil" var="filho">   
		 	<mnu:out value="${filho.mnufiltxt}"/>   
			<mnu:out value="${filho.mnufilrot}"/>   
		</mnu:forEach>   
	</mnu:if>   
</mnu:forEach>

Erro

org.apache.jasper.JasperException: An exception occurred processing JSP page /menu.jsp at line 32

29:		<mnu:forEach items="${menuPai}" var="pai">   
30: 			<mnu:out value="${pai.mnutxt}"/>   
31: 			<mnu:out value="${pai.mnurot}"/>   
32: 			<mnu:if test="${not empty pai.mnufil}">   
33: 			<mnu:forEach items="${pai.mnufil}" var="filho">   
34: 				<mnu:out value="${filho.mnufiltxt}"/>   
35: 				<mnu:out value="${filho.mnufilrot}"/>   


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	util.controller.Login.doPost(Login.java:64)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.el.PropertyNotFoundException: Property 'mnufil' not found on type util.modulo.MenuBin

O que estou fazendo de errado ?

no meu Bin do Pai eu defino 1 arraylist contendo Objetos do tipo menufilho, e quando faço referencia no segundo foreach ele não encontra a propriedade.

Agradeço a ajuda

Christian

rpb.cold

vc importou as bibliotecas do jstl no projeto e na pagina JSP ?

no jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

no projeto add o jar abaixo:

Tem certeza q vc tem o metodo: getMnufil() ?

att,

Renan

C

rpb.cold:
vc importou as bibliotecas do jstl no projeto e na pagina JSP ?

no jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

no projeto add o jar abaixo:

Tem certeza q vc tem o metodo: getMnufil() ?

att,

Renan

Ja tenho a biblioteca do jstl nesta versão ai que vc passou e está no projeto, e também estou chamando, porém chamei apenas o do prefixo mnu, e não do fn, mas já adicionei e também deu erro.

<% String path = ""; %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="mnu" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> // !--> não tinha este, coloquei agora, mesmo assim deu erro
<%@ include file="cabecalho.jsp" %>
<%@ include file="menu.jsp" %>  
<table border="0" cellpadding="0" cellspacing="0" width="95%" height="100%">
    <tr>
        <td class="corpo">
            <fieldset>
                <legend><a href="<%= path %>index.jsp" class="submenu">Home</a></legend>
                <table border="0" cellpadding="0" cellspacing="0" class="corpo" width="100%" height="100%">
                    <tr>
                        <td width="20%"></td>
                        <td>
                            Seja bem vindo ao nosso Portal...
                        </td>
                    </tr>
                </table>
            </fieldset>                            
        </td>
    </tr>
</table>
<%@ include file="rodape.jsp" %>

Tenho olha o bin do menupai abaixo

public class MenuBin {   
    private String mnupor;   
    private String mnucod;   
    private String mnutxt;   
    private String mnuweb;   
    private String mnurot;   
    private ArrayList mnufil;    // Olha ele aqui
       
    public MenuBin()    {   
        this.mnupor  = null;   
        this.mnucod  = null;   
        this.mnutxt  = null;   
        this.mnuweb  = null;   
        this.mnurot  = null;   
        this.mnufil  = null;     // Olha ele aqui
  
getter e setter ocultados...
rpb.cold

BOm meu caro amigo,

fiz o codigo abaixo e o menu é montado com sucesso, o nosso problema é q nao podemos começar com um for já que o mais nao é um array ... só podemos usar o for na hora que aparece o array de filhos eu montei uma servlet que popula os beans e uma jsp q trata a seção com jstl veja se te ajuda:

beans:

public class BeanPai {
    private String mnupor;     
    private String mnucod;     
    private String mnutxt;     
    private String mnuweb;     
    private String mnurot;     
    private ArrayList mnufil;

....
}
public class BeanFilho {
    private String mnufilpor;  
    private String mnufilcod;  
    private String mnufiltxt;  
    private String mnufilweb;  
    private String mnufilrot;

....
}

Servlet:

import java.io.IOException;

import java.util.ArrayList;

import javax.servlet.*;
import javax.servlet.http.*;

public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
        doPost(request,response);
    }

    public void doPost(HttpServletRequest request, 
                       HttpServletResponse response) throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
        BeanPai pai = new BeanPai();
        
        
        pai.setMnucod("1");
        pai.setMnutxt("Home Site");
        pai.setMnurot("http://www.uol.com.br");
        
        ArrayList filhos = new ArrayList();
        
        BeanFilho filho = new BeanFilho();
        filho.setMnufilcod("2");
        filho.setMnufiltxt("Filho 1");
        filho.setMnufilrot("http://www.ig.com.br");
        filhos.add(filho);
        
        BeanFilho filho2 = new BeanFilho();
        filho2.setMnufilcod("3");
        filho2.setMnufiltxt("Filho 2");
        filho2.setMnufilrot("http://www.google.com.br");
        filhos.add(filho2);
        
        pai.setMnufil(filhos);
        HttpSession session = request.getSession();
        session.setAttribute("menu",pai);
        
        
        response.sendRedirect("inicial.jsp");
    }
}

JSP que trata a session:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>inicial</title>
  </head>
  <body>
    <c:set var="pai" value="${sessionScope.menu}"/>
    
    <c:out value="${pai.mnutxt}"/>
    <ul>
        <c:forEach items="${pai.mnufil}" var="filhos">
            <li><a href="${filhos.mnufilrot}"><c:out value="${filhos.mnufiltxt}"/></a></li>
        </c:forEach>
    </ul>
  </body>
</html>

Espero que agora te ajude ...

att,

Renan

C

renan obrigado por postar isso, teria como vc só ajustar 1 coisa ?

estilo, no meu menu, é 1 array de objetos com outro array de objetos, no seu menu, é 1 objeto com 1 array de objetos dentro, teria como vc refazer o exemplo, como eu queria,

no exemplo que vc postou, vc está colocando para imprimir o cabeçalho e logo em baixo fazendo o foreach.

Se tiver como já vou quase conseguir aqui. Desde já agradeço muito

ps. seu exemplo funcionou, porém tentei aplicar ele no meu exemplo, e deu um erro. falando que 1 propriedade do pai.mnutxt não existe.

Christian

rpb.cold

:shock: ,,, nao sei se entendi mto bem mais eu acho q vc tem a seguinte estrutura :

Array de pais ...

Pais que pode ter um array de filhos é isso mesmo ?

vou quebrar o seu galho olha o exemplo aqui;

Servlet:

import java.io.IOException;

import java.util.ArrayList;

import javax.servlet.*;
import javax.servlet.http.*;

public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
        doPost(request,response);
    }

    public void doPost(HttpServletRequest request, 
                       HttpServletResponse response) throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
        
        ArrayList pais = new ArrayList();
        
        BeanPai pai = new BeanPai();
        pai.setMnucod("1");
        pai.setMnutxt("Home Site");
        pai.setMnurot("http://www.uol.com.br");
        
        ArrayList filhos = new ArrayList();
        
        BeanFilho filho = new BeanFilho();
        filho.setMnufilcod("1.1");
        filho.setMnufiltxt("Filho 1");
        filho.setMnufilrot("http://www.ig.com.br");
        filhos.add(filho);
        
        BeanFilho filho2 = new BeanFilho();
        filho2.setMnufilcod("1.2");
        filho2.setMnufiltxt("Filho 2");
        filho2.setMnufilrot("http://www.google.com.br");
        filhos.add(filho2);
        
        pai.setMnufil(filhos);
        
        ArrayList filhos2 = new ArrayList();
        
        BeanPai pai2 = new BeanPai();
        pai2.setMnucod("2");
        pai2.setMnutxt("Developer");
        pai2.setMnurot("http://www.rpbdesigner.com");
        
        BeanFilho filho3 = new BeanFilho();
        filho3.setMnufilcod("2.1");
        filho3.setMnufiltxt("Filho 3");
        filho3.setMnufilrot("http://www.google.com.br");
        filhos2.add(filho3);
        
        pai2.setMnufil(filhos2);
        
        BeanPai pai3 = new BeanPai();
        pai3.setMnucod("3");
        pai3.setMnutxt("Renan Barbalho");
        pai3.setMnurot("http://www.rpbdesigner.com");
        
        pais.add(pai);
        pais.add(pai2);
        pais.add(pai3);
        
        
        HttpSession session = request.getSession();
        
        session.setAttribute("menuArray",pais);
        
        
        response.sendRedirect("inicial.jsp");
    }
}

JSP com JSTL:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>inicial</title>
  </head>
  <body>
    <ul>
    <c:forEach items="${sessionScope.menuArray}" var="pai">
        <li><c:out value="${pai.mnutxt}"/></li>
        <c:if test="${not empty pai.mnufil}">
            <ul>
            <c:forEach items="${pai.mnufil}" var="filhos">
                <li><a href="${filhos.mnufilrot}"><c:out value="${filhos.mnufiltxt}"/></a></li>
            </c:forEach>
            </ul>
        </c:if>
    </c:forEach>
    </ul>
  </body>
</html>

[]'s

Renan

C

Renan, Agradeço muito

Agora estou mais tranquilo, consegui ajustar tudo aqui.

Muito obrigado

Christian

rpb.cold

poxa espero q tenha ajudado de verdade …

precisando só falar

[]'s

Renan

Criado 26 de novembro de 2008
Ultima resposta 1 de dez. de 2008
Respostas 17
Participantes 3