Hola, tengo un problema que no sé resolver; en una jsp, tengo un botón, que llama a una función de javascript. Esta función lo que hace es construir una url con unos parámetros, y luego con un submit se envía a un action. Mi problema es que, si dentro de esta función, justo antes de hacer el submit, hago un alert de mi url, obtengo algo parecido:
url = ...action?parametro1=valor1¶metro2=valor2;
pero al action lo que me llega es, como parametro1 el valor "valor1," y como parametro2 el valor "valor2,". Y en caso de que lleguen los valores vacíos, en lugar de llegar "", lo que llega es ",". Es decir, que incluye la dichosa coma, y no tengo ni idea de porqué. Os escribo parte de la jsp:
Código:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title><s:text name="titleWindowPaxMerchandisePost"/></title>
<s:include value="../../application/libraries.jsp"/>
<script type="text/javascript">
...
function update(idPaxMerchandisePost,airlineDepartureFlight,flightNumberDepartureFlight,
airlineArrivalFlight,flightNumberArrivalFlight,idMerchandise,kilogramesPost,
pax,handlingCode)
{
alert('/AODB/billing/paxMerchandisePost/PaxMerchandisePostDetailForm.action?idPaxMerchandisePost=' + encodeURIComponent(idPaxMerchandisePost)
+ "&airlineDepartureFlight=" + encodeURIComponent(airlineDepartureFlight)
+ "&flightNumberDepartureFlight=" + encodeURIComponent(flightNumberDepartureFlight)
+ "&airlineArrivalFlight=" + encodeURIComponent(airlineArrivalFlight)
+ "&flightNumberArrivalFlight=" + encodeURIComponent(flightNumberArrivalFlight)
+ "&idMerchandise=" + encodeURIComponent(idMerchandise)
+ "&kilogramesPost=" + encodeURIComponent(kilogramesPost)
+ "&pax=" + encodeURIComponent(pax)
+ "&handlingCode=" + encodeURIComponent(handlingCode)
+ "&accion=" + accion
+ "&selectedPage=" + paginaSeleccionada);
document.forms[0].action = '/AODB/billing/paxMerchandisePost/PaxMerchandisePostDetailForm.action?idPaxMerchandisePost=' + encodeURIComponent(idPaxMerchandisePost)
+ "&airlineDepartureFlight=" + encodeURIComponent(airlineDepartureFlight)
+ "&flightNumberDepartureFlight=" + encodeURIComponent(flightNumberDepartureFlight)
+ "&airlineArrivalFlight=" + encodeURIComponent(airlineArrivalFlight)
+ "&flightNumberArrivalFlight=" + encodeURIComponent(flightNumberArrivalFlight)
+ "&idMerchandise=" + encodeURIComponent(idMerchandise)
+ "&kilogramesPost=" + encodeURIComponent(kilogramesPost)
+ "&pax=" + encodeURIComponent(pax)
+ "&handlingCode=" + encodeURIComponent(handlingCode)
+ "&accion=" + accion
+ "&selectedPage=" + paginaSeleccionada;
document.forms[0].submit();
}...
</script>
</head>
<body>
...
<tbody>
<s:iterator value="pageHandlerFast.itemsInPage" status="itStattus" id="list">
<s:url id="borra" action="PaxMerchandisePostDelete.action">
<s:param name="idPaxMerchandisePost" value="%{#list.idPaxMerchandisePostList}"/>
<s:param name="airlineDepartureFlight" value="%{#list.airlineDepartureFlightList}"/>
<s:param name="flightNumberDepartureFlight"
value="%{#list.flightNumberDepartureFlightList}"/>
<s:param name="airlineArrivalFlight" value="%{#list.airlineArrivalFlightList}"/>
<s:param name="flightNumberArrivalFlight" value="%{#list.flightNumberArrivalFlightList}"/>
<s:param name="idMerchandise" value="%{#list.idMerchandiseList}"/>
<s:param name="kilogramesPost" value="%{#list.kilogramesPostList}"/>
<s:param name="pax" value="%{#list.paxList}"/>
</s:url>
<s:url id="modifica" action="PaxMerchandisePostUpdate.action">
<s:param name="idPaxMerchandisePost" value="%{#list.idPaxMerchandisePostList}"/>
</s:url>
<s:if test="#itStattus.odd == true">
<tr id="box-table-agris">
</s:if>
<s:else>
<tr>
</s:else>
<td>
<s:property value="airlineDepartureFlightList"/>
<s:if test="airlineDepartureFlightList != null && airlineDepartureFlightList != ''">-
</s:if>
<s:property value="flightNumberDepartureFlightList"/>
</td>
<td>
<s:property value="airlineArrivalFlightList"/>
<s:if test="airlineArrivalFlightList != null && airlineArrivalFlightList != ''">-
</s:if>
<s:property value="flightNumberArrivalFlightList"/>
</td>
<td><s:property value="merchandiseWeightList"/></td>
<td><s:property value="kilogramesPostList"/></td>
<td><s:property value="paxList"/></td>
<td><s:property value="handlingCodeList"/></td>
<td>
<s:a href="#" onclick="deletePMPService('%{#list.idPaxMerchandisePostList}')">
<img src="../../web/images/eliminar.png" title="<s:text name="deleteDescPaxMerchandisePost" />"
hspace="5" border="0"/>
</s:a>
<s:a href="#" onclick="update('%{#list.idPaxMerchandisePostList}',
'%{#list.airlineDepartureFlightList}',
'%{#list.flightNumberDepartureFlightList}',
'%{#list.airlineArrivalFlightList}',
'%{#list.flightNumberArrivalFlightList}',
'%{#list.idMerchandiseList}',
'%{#list.kilogramesPostList}',
'%{#list.paxList}',
'%{#list.handlingCodeList}')">
<img src="../../web/images/actualizar.png" title="<s:text name="updatePaxMerchandisePost" />"
hspace="5" border="0"/>
</s:a>
</td>
</tr>
</s:iterator>
</tbody>
...
Lo que sí sé es que me ocurre solamente cuando cojo esos valores del listado.
¿Alguien puede decirme porqué?
Muchas gracias