Foros del Web » Programación para mayores de 30 ;) » Java »

Enviar float de JSP a VO

Estas en el tema de Enviar float de JSP a VO en el foro de Java en Foros del Web. Hola, necesito ayuda en algo simple pero q no lo entender porq lo hace.. El proyecto lo trabajo sobre spring, webwork y la BD en ...
  #1 (permalink)  
Antiguo 05/03/2008, 18:52
Avatar de johnak  
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Enviar float de JSP a VO

Hola, necesito ayuda en algo simple pero q no lo entender porq lo hace..

El proyecto lo trabajo sobre spring, webwork y la BD en Mysql.
Tengo un action donde creo en un Map una lista de costos (id ENTERO, costo FLOTANTE).
la genera correctamente y la envio a un <select <option mediante un iterator para desplegar las opciones.

Hasta aqui todo va bien (despliega las opciones correctamente)

El problema es que al seleccionar el costo deceado del <select, el valor que me envia al VO me agrega un 0.0 al final del float, es decir,


Tengo las opciones:
91.15
91
333.19

Si yo selecciono la opcion 19.15, al darle submit envio toda la informacion al VO, peeeero en el setter de mi VO user recibe el numero 1915.0, en caso de 91 obtengo 910.0.

AUXILIOOO !!

Les dejo parte de mi codigo.


------ Mi Action (DE ESTE SEGURO QUE ESTA BIEN) ---
ArrayList<CostLotusNVO> lotusCat = new ArrayList<CostLotusNVO>();
session.put("_COSTLOTUS_CAT",mgr.costLotusCatalogu e(costLotusVO, lotusCat));


------ MI VO: -----

//lotusNotes
private String lotusDescrip;
private Float lotusCost;

public Float getLotusCost() {
return lotusCost;
}

public void setLotusCost(Float lotusCost) {
this.lotusCost = lotusCost;
}


---- MI JSP -----

<table>
LotusNotes Cost:
<select onChange="ParseFloat()" id="lotusCost" name="user.lotusCost"> // el ParseFloat solo es para comprobar que HASTA AQUI el valor es un float, cosa que es correcto
<option>
<ww:property value="user.lotusCost" default="-----Select LotusNotes -----"/>
</option>

<ww:iterator value="%{#session._COSTLOTUS_CAT}">
<option value=<ww:property value="cost"/>>
<ww:property value="cost"/>
</option>
</ww:iterator>
</select>
<ww:textfield label="%{getText('user.lotusDescrip')}" name="user.lotusDescrip" id="user.lotusDescrip" value="%{user.lotusDescrip}"/>

</td>



(anexo el modulo del ParseFloat())

<script type="text/javascript">

function ParseFloat(){
var lotusCost = parseFloat(document.forms['editUser'].elements['lotusCost'].value);
var sameCost = parseFloat(document.forms['editUser'].elements['sameCost'].value);

if(!isNaN(lotusCost)){alert("es numero "+lotusCost);}

if(!isNaN(sameCost)){alert("es numero "+sameCost);}

}

- Al generar el Map (session) esta correcto
- Al desplegar las en el <select esta correcto
- Al seleccionar una opcion en el <select es correcto
- Al recibir el float en el VO user XXXXX INCORRECTO !


Tengo varios dias investigando porque rayos hace esto y nop.. no logro entender
De antemano GRACIAS !!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.