java - How use a DTO for display a table in html with JSP and JSTL? -


i'm new in jsp, i'm learning use pattern design dto display data in table jsp jstl. class dto:

package driver; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import java.util.list;  public abstract class dto{ public abstract dto load(resultset rs) throws sqlexception; public abstract string tostring();  consultas con = new consultas(); } 

and code class costumercost:

package driver; import java.sql.resultset; import java.sql.sqlexception;  public class clientecosto extends dto { public int idcliente; public string nombre; public double enero; public double febrero; public double marzo; public double abril; public double mayo; public double junio; public double julio; public double agosto; public double septiembre; public double octubre; public double noviembre; public double diciembre;  public clientecosto(){    super(); } public double getenero() { return enero; } public void setenero(double enero) { this.enero = enero; } public double getfebrero() { return febrero; } public void setfebrero(double febrero) { this.febrero = febrero; } public double getmarzo() { return marzo; } public void setmarzo(double marzo) { this.marzo = marzo; } public double getabril() { return abril; } public void setabril(double abril) { this.abril = abril; } public double getmayo() { return mayo; } public void setmayo(double mayo) { this.mayo = mayo; } public double getjunio() { return junio; } public void setjunio(double junio) { this.junio = junio; } public double getjulio() { return julio; } public void setjulio(double julio) { this.julio = julio; } public double getagosto() { return agosto; } public void setagosto(double agosto) { this.agosto = agosto; } public double getseptiembre() { return septiembre; } public void setseptiembre(double septiembre) { this.septiembre = septiembre; } public double getoctubre() { return octubre; } public void setoctubre(double octubre) { this.octubre = octubre; } public double getnoviembre() { return noviembre; } public void setnoviembre(double noviembre) { this.noviembre = noviembre; } public double getdiciembre() { return diciembre; } public void setdiciembre(double diciembre) { this.diciembre = diciembre; } public int getidcliente(){ return idcliente; } public void setidcliente(int idcliente) { this.idcliente = idcliente; }  public string getnombre() { return nombre; } public void setnombre(string nombre) { this.nombre = nombre; }  public string tostring(){ return(         "<tr>"         +"<td>"+nombre+"</td>"         +"<td>"+enero+ "</td>"         +"</tr>"); } public dto load(resultset rs) throws sqlexception{ clientecosto clientecosto = new clientecosto(); clientecosto.setnombre(rs.getstring("nombre")); clientecosto.setenero(rs.getdouble("enero")); return clientecosto; } } 

this code query, code in package driver , class consultas.

public list<clientecosto> list() throws sqlexception{ list<clientecosto> clientcost = new arraylist<clientecosto>(); statement st = null; resultset rs = null;  try{     //connection = getconexion().getconnection();     string query = "select idcliente,"         + "nombre,sum(case when month (fecha)=1 costo else 0 end) enero,"         + "from actividad "         + "inner join cliente "         + "on actividad.cliente_idcliente=cliente.idcliente "         + "where year(fecha)=2016 group idcliente;";    st = getconexion().createstatement();    rs = st.executequery(query);    while(rs.next()){        clientecosto cliente = new clientecosto();        cliente.setidcliente(rs.getint("idcliente"));        cliente.setnombre(rs.getstring("nombre"));        cliente.setenero(rs.getdouble("enero"));        clientcost.add(cliente);    }   }finally{       if(rs != null)try{            rs.close();}catch(sqlexception e){}   }    return clientcost;   } 

finally use jstl in jsp dont know how use it:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>                 <table>                     <c:foreach items="${clientecosto}" var="clientecost">                     <tr>                          <td>${clientecost.idcliente}</td>                          <td><c:out value="${clientecost.nombre}"/></td>                          <td><c:out value="${clientecost.enero}"/></td>                     </tr>                     </c:foreach>                             </table>     

this code servlet:

protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {     // todo auto-generated method stub     try{         list<clientecosto> clientecosto = clientecostodto.list();         request.setattribute("clientecosto", clientecosto);                request.getrequestdispatcher("/webcontent/main.jsp").forward(request, response);     }catch (sqlexception e){         throw new servletexception("no se puede realizar query");     }   } 


Comments