03/04/2009, 04:16
|
| | Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 16 años Puntos: 1 | |
Respuesta: Problema coger elementos array en servlet Hola, perdona pero no lo entiendo. Con recuperar datos te refieres a la pagina jsp, ¿cierto? Pues solo consigo recuperar el primer valor de cada lista, el resto no salen, es más, de la segunda lista, me sale el primer valor dos veces. En el servlet he cambiado la definición de allbalancelist:
...
private ArrayList<String> stringaccountlist, stringbalancelist;
private ArrayList errors, allbalancelist;
...
if (clients!=null)
{
name = clients.getName();
lastname1 = clients.getFirstlastname();
lastname2 = clients.getSecondlastname();
address = clients.getAdress();
phoneint = clients.getTelephone();
indexint = clients.getIndex();
birthdate = clients.getBirthday();
phone = Integer.toString(phoneint);
index = Integer.toString(indexint);
cliente = "Nombre y apellidos: "+name+" "+lastname1+" "+lastname2+", nif: "+nif+
", direccion: "+address+", telefono de contacto: "+phone+", fecha de nacimiento: "+
birthdate+" e identificacion en bbdd: "+index+".";
theRequest.setAttribute("cliente", cliente);
accounts.setNif(nif);
accounts = accountmethod.ReadByNif(accounts);
if (accounts!=null)
{
accountslist = accountmethod.ReadAllByNif(accounts, nif);
//Y con el for, lo recorro y lo voy modificando
for (int i=0;i<accountslist.size(); i++)
{
accounts = accountslist.get(i);
accountint = accounts.getAccountnumber();
keyint = accounts.getAccountkey();
officeint = accounts.getOffice();
accounttype = accounts.getAccounttype();
creationdate = accounts.getCreationdate();
account = Integer.toString(accountint);
key = Integer.toString(keyint);
office = Integer.toString(officeint);
cuenta = "Numero de cuenta: "+account+", clave: "+key+", nif del cliente: "+nif+
", numero de oficina: "+office+", tipo de cuenta: "+accounttype+" y fecha de creacion: "+creationdate+".";
stringaccountlist.add(cuenta);
balance.setAccountnumber(accounts.getAccountnumber ());
balance = balancemethod.ReadByAccount(balance);
if (balance!=null)
{
balancelist = new ArrayList<balanceDto>();
stringbalancelist= new ArrayList<String>();
balancelist = balancemethod.ReadByNumber(balance, accounts.getAccountnumber());
for(int j=0; j<balancelist.size();j++)
{
balance = balancelist.get(j);
amountint = balance.getAmount();
amountbalanceint = balance.getAmountbalance();
concept = balance.getConcept();
conceptdate = balance.getConceptdate();
amount = Integer.toString(amountint);
amountbalance = Integer.toString(amountbalanceint);
operaciones = "Numero de cuenta: "+account+", importe inicial: "+amount+", importe final: "+
amountbalance+", concepto del importe: "+concept+" y fecha de la operacion: "+conceptdate+".";
stringbalancelist.add(operaciones);
}
allbalancelist.add(stringbalancelist);
}
else
{
operaciones = "No hay movimientos para la cuenta numero "+account+".";
stringbalancelist= new ArrayList<String>();
stringbalancelist.add(operaciones);
allbalancelist.add(stringbalancelist);
}
}
}
else
{
cuenta = "No hay cuentas para este cliente";
stringaccountlist.add(cuenta);
}
theRequest.setAttribute("cliente", cliente);
theRequest.setAttribute("stringaccountlist",string accountlist);
theRequest.setAttribute("allbalancelist", allbalancelist);
RESULT_URL = "/JSP/ConfirmBajaCliente.jsp";
...
y en la pagina jsp:
...
<%
String cliente = (String)request.getAttribute("cliente");
String confnif = (String)request.getAttribute("nif");
java.util.ArrayList<String> accountslist = (java.util.ArrayList<String>)request.getAttribute( "stringaccountlist");
java.util.ArrayList allbalancelist = (java.util.ArrayList)request.getAttribute("allbala ncelist");
%>
...
<% for (int i=0; i<accountslist.size();i++){%>
<tr><td align="left"> <%out.println(accountslist.get(i)); %> </td></tr>"
<% for (int j=0; i<allbalancelist.size(); i++){ %>
<tr><td align="left"> <%out.println(" "+allbalancelist.get(j)); %> </td></tr>
<%} %>
<%} %>
...
no me deja poner en la pagina jsp ArrayList nombre = (ArrayList) request.setAttribute("nombre");, no me reconoce ArrayList, me dice que "ArrayList cannot be resolved to a type". ¿Como podría hacerlo? Muchas gracias, un saludo |