Problema con caracteres pasados por la request
Tengo un problema con la visualización de palabras con acentos que es de mayor importancia que la visualización en sí porque afecta a la lógica de la aplicación también.
Trabajo con Struts, y en una jsp defino estos parámetros a enviar y posteriormente los
Envío de la siguiente manera:
...
<%
/* Establecemos los parámetros que necesitamos para las posibles solicitudes de venta de títulos o modificación de datos de empresa */
HashMap paramsVent = new HashMap();
HashMap paramsModif = new HashMap();
paramsVent.put("titulosVentaAnterioridad", notific.getTitVentAnterioridad());
paramsVent.put("nombre", notific.getOperacion().getNombre());
paramsVent.put("titulosFueraIntervalo", notific.getOperacion().getSaldoTitulosOperacion());
paramsModif.put("nombre", notific.getOperacion().getNombre());paramsModif.put("objetivo", notific.getEmpresa().getObjetivo());
paramsModif.put("stopPerdidas", notific.getEmpresa().getStopPerdidas());
paramsModif.put("riesgo", notific.getEmpresa().getRiesgo());
paramsModif.put("notificar", "true");
paramsModif.put("precioActual", notific.getPrecActual());
pageContext.setAttribute("parametrosVender", paramsVent);
pageContext.setAttribute("parametrosModificar", paramsModif);
%>
......
<td width="14%" height="30">
<html:link action="solicitarVenderTitulosFueraIntervalo" name="parametrosVender">
<bean:message key="link.vender"/>
</html:link>
</td>
<td width="14%" height="30">
<html:link action="solicitarModificarDatosEmpresa" name="parametrosModificar">
<bean:message key="link.modificar"/>
</html:link>
</td>
..............
A través de esos links la jsp nos puede llevar a 2 páginas distintas. En una de ellas, otra jsp que tiene lógica algo compleja, tengo el siguiente código para obtener esos parámetros y a partir de ahí trabajar con ellos:
..........
<bean:parameter id="nmbr" name="nombre"/>
<bean:parameter id="objet" name="objetivo"/>
<bean:parameter id="stopPerd" name="stopPerdidas"/>
<bean:parameter id="riesg" name="riesgo"/>
<bean:parameter id="notif" name="notificar"/>
<bean:parameter id="precAct" name="precioActual"/>
...
Los parámetros son obtenidos correctamente, pero como a veces envío ciertas palabras con acentos, pues después trabajo con caracteres raros que motivan errores lógicos en
Sentencias como "if (x.equalsIgnoreCase(nmbr))", donde cuando debería haber coincidencia nunca la hay.
¿Qué modificaciones hago para no tener este problema?
Ah!, y ya tengo en las jsp's la codificación española <%@page pageEncoding="ISO-8859-1"%>
Creo que me he explicado bien
Trabajo con Struts, y en una jsp defino estos parámetros a enviar y posteriormente los
Envío de la siguiente manera:
...
<%
/* Establecemos los parámetros que necesitamos para las posibles solicitudes de venta de títulos o modificación de datos de empresa */
HashMap paramsVent = new HashMap();
HashMap paramsModif = new HashMap();
paramsVent.put("titulosVentaAnterioridad", notific.getTitVentAnterioridad());
paramsVent.put("nombre", notific.getOperacion().getNombre());
paramsVent.put("titulosFueraIntervalo", notific.getOperacion().getSaldoTitulosOperacion());
paramsModif.put("nombre", notific.getOperacion().getNombre());paramsModif.put("objetivo", notific.getEmpresa().getObjetivo());
paramsModif.put("stopPerdidas", notific.getEmpresa().getStopPerdidas());
paramsModif.put("riesgo", notific.getEmpresa().getRiesgo());
paramsModif.put("notificar", "true");
paramsModif.put("precioActual", notific.getPrecActual());
pageContext.setAttribute("parametrosVender", paramsVent);
pageContext.setAttribute("parametrosModificar", paramsModif);
%>
......
<td width="14%" height="30">
<html:link action="solicitarVenderTitulosFueraIntervalo" name="parametrosVender">
<bean:message key="link.vender"/>
</html:link>
</td>
<td width="14%" height="30">
<html:link action="solicitarModificarDatosEmpresa" name="parametrosModificar">
<bean:message key="link.modificar"/>
</html:link>
</td>
..............
A través de esos links la jsp nos puede llevar a 2 páginas distintas. En una de ellas, otra jsp que tiene lógica algo compleja, tengo el siguiente código para obtener esos parámetros y a partir de ahí trabajar con ellos:
..........
<bean:parameter id="nmbr" name="nombre"/>
<bean:parameter id="objet" name="objetivo"/>
<bean:parameter id="stopPerd" name="stopPerdidas"/>
<bean:parameter id="riesg" name="riesgo"/>
<bean:parameter id="notif" name="notificar"/>
<bean:parameter id="precAct" name="precioActual"/>
...
Los parámetros son obtenidos correctamente, pero como a veces envío ciertas palabras con acentos, pues después trabajo con caracteres raros que motivan errores lógicos en
Sentencias como "if (x.equalsIgnoreCase(nmbr))", donde cuando debería haber coincidencia nunca la hay.
¿Qué modificaciones hago para no tener este problema?
Ah!, y ya tengo en las jsp's la codificación española <%@page pageEncoding="ISO-8859-1"%>
Creo que me he explicado bien
1 Respuesta
Respuesta de jruben
1