thingol 19 de jan. de 2009
Qual é o tipo que vem no atributo “styles”?
Quem seta o atributo “styles” deve fazê-lo com um List<String> senão vai ocorrer um ClassCastException.
Foxlol 19 de jan. de 2009
Vc deve fazer:
List < String > styles = ( List < string >) request . getAttribute ( "styles" );
Iterator < String > it = styles . iterator ();
while ( it . hasNext ()) {
out.print("<br> try : " + it . next ());
}
Juvenal 19 de jan. de 2009
O Servlet esta mandando este “styles”
olhe o codigo do Servlet
String c = request . getParameter ( "color" );
// out.println("<br>Got beer color" + c);
BeerExpert be = new BeerExpert ();
List < String > result = be . getBrands ( c );
// java.util.Iterator<String> it = result.iterator();
request . setAttribute ( "styles" , result );
RequestDispatcher view = request . getRequestDispatcher ( "resut.jsp" );
view . forward ( request , response );
muito obrigado…
devel.andrerocha 19 de jan. de 2009
Qual o erro? tem certeza que esse cara nao esta null? Tenta colocar um teste antes
List < String > style = new ArrayList < String > () ;
if ( request .getAttribute ( "styles" ) != null ) {
style = ( List < string > ) request .getAttribute ( "styles" ) ;
} else {
System .out .println ( "Erro" ) ;
}
Juvenal 19 de jan. de 2009
mas o
style = ( List < string > ) request . getAttribute ( "styles" );
esta acusando um warning do Eclipse…
o q eu faço. ?
muito obrigado.
marcobiscaro2112 19 de jan. de 2009
Juvenal:
mas o
style = ( List < string > ) request . getAttribute ( "styles" );
esta acusando um warning do Eclipse…
o q eu faço. ?
muito obrigado.
Acontece que os generics servem justamente para garantir que em uma List como:
List<String>
…só haverá realmente Strings. Se você faz um cast (como no caso) o compilador gera um warning, algo como: “Você está fazendo o cast, logo a responsabilidade é sua. Se seu programa der pau, não vai dizer que não avisei.”. A maneira de eliminar esse aviso (sob sua responsabilidade) é usar a anotação ‘SuppressWarnings(“unchecked”)’.