[Resolvido] JSP convertendo & em &

1 resposta
gfkauer

Bom dia,

Estou com um problema em um grid que é montado em tempo de execução ppor um JSP.
Meu objetivo é mostrar o nome de um fornecedor a partir de um resultado de query, a parte da leitura e carga dos dados do banco estou conseguindo atingir perfeitamente.
Mas quando meu fornecedor possui um & no nome o JSP acaba traduzindo para o comando html & e o mantém na apresentação do resultado, (ex. nome1 & nome2).
Meu comando é este:

<%
						Agendamento agendamento = (Agendamento) pageContext.getAttribute("agendamento");
						
						Calendar cal = Calendar.getInstance();
						cal.setTime(agendamento.getDataHoraAgendamento());
						
						request.setAttribute("day", cal.get(Calendar.DAY_OF_MONTH));
						request.setAttribute("month", cal.get(Calendar.MONTH));
						request.setAttribute("year", cal.get(Calendar.YEAR));
						
						// Razão fornecedor + (Número NF, senão NR Pedido)
						String title = agendamento.getPedido().getFornecedor().getRazaoSocial() + " - ";
						String descNF = null;
						
						Set<NotaFiscal> notasFiscais = agendamento.getPedido().getNotaFiscals();
						
						request.setAttribute("title", title);
					%>
					{
						title: '<c:out value="${title}" />',
						start: new Date(<c:out value="${year}" />, <c:out value="${month}" />, <c:out value="${day}" />),
						idAgendamento: <c:out value="${agendamento.id}"/>
					}

tentei fazer a conversão do nome do fornecedor StringScapeUtils, tanto pelo método escape quanto unescape mas ainda assim não alterou o resultado.
Tentei também usar um simples replace, mas o resultado tambem não foi afetado...

Ainda não encontrei alguma outra forma de "evitar" que o nome apareça distorcido no meu grid final...

Gostaria de idéias para solucionar este erro...

Obrigado por qualquer auxilio.

1 Resposta

gfkauer

o Comando

<c:out values="&{title}" />

já traduz para o “& amp;”.

A solução foi substituir esta linha de comando por apenas um

'${title}'
Criado 29 de janeiro de 2010
Ultima resposta 29 de jan. de 2010
Respostas 1
Participantes 1