Operadores [] ou

O Pessoal estou estudando, para SCWCD e me pintou uma duvida sobre operadores [] com . sei que o operador [] é mais potente que o . por causa dos map e listas, no entanto fiz farias combinações que geraram um erro, alguém tem uma explicação bem superficial ai?

Valeu…

Mostre o código e o erro por favor.

Pagina 1

${header["host"]} ${header['host']} ${header.host}

<%
ArrayList lista = new ArrayList();
lista.add(“1”);
lista.add(“2”);
lista.add(“3”);
lista.add(4);
request.setAttribute(“lista”,lista);

Map map = new HashMap();
map.put(“0”, “teste”);
map.put(“1”, “Luiz”);
map.put(“2”, “Carlos”);

%>
<jsp:forward page=“mostraEl.jsp”>
<jsp:param name=“lista” value="<%=lista %>"/>
<jsp:param name=“map” value="<%=map %>"/>
</jsp:forward>

Pagina 2

${param.lista } Lista total

${param.map[0] } Lista total


${param.map } Lista total

Erro----------------------------

javax.el.PropertyNotFoundException: Property ‘0’ not found on type java.lang.String

Ola,

Tem um tempo bom que vi isto… mas vc tem que colocar o ‘0’ entre aspas… acho:

 ${param.map["0"] } Lista total<br> 

O que o Bruno escreveu faz sentido. As chaves de maps calculam com String.

Não…ocorrerá o mesmo erro tanto com “” quanto ‘’