Converter Integer para String EL

3 respostas
sunwebdeveloper

Bom Dia, estou na seguinte situação, tenho um jsp que em seu corpo possui uma displaytag, e uma das colunas dessa display tag deve ser o valor de um Map(Que esta no context) que será conseguido passando como parâmetro o valor de um atributo que é Integer e eu não posso mudar… seria algo assim na EL: ${mapa[prod.cd_prod]}, porem cd_prod é um Integer e qdo executo assim, estoura uma “java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer”, alguém tem alguma idéia de como resolver isso no JSP ???
Obrigado !!!

3 Respostas

F

Pelo que eu entendi, seu mapa deve ter como chave uma STRING e não um integer, ou seja,
ele ta declarado como

Map<String, algumacoisa>

Ai tu ta passando um Integer como chave, e ele ta esperando uma string, aí já viu neh

ehhehe

sunwebdeveloper

Fala cara, blz ?? Valeu pela ajuda… Então, de prima eu achei que era isso, ai mudei a chave para Integer, mas pelo que li, a EL nesse formato ${mapa[cod]} ‘cod’ obrigatoriamente deve ser uma String, e no meu caso, ‘cod’ é um Integer, não sei se consegui explicar direito…

F

Saquei…

Tu vai ter q fazer um toString então…

Faz o getter do seu COD retornar: return cod.toString(); ao invés dele retornar um INT…

Aí é meio gambiarra mas vai funcionar =P

Ou então, cria um campo codEmString e toda vez q vc setar o cod, vc seta essa codEmString também, com o seu valor em string…

Criado 30 de outubro de 2009
Ultima resposta 30 de out. de 2009
Respostas 3
Participantes 2