elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda con java y struts
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con java y struts  (Leído 1,460 veces)
luismi_12

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Duda con java y struts
« en: 12 Marzo 2014, 22:56 pm »

Hola buenas tengo una duda con Struts 2, vereis quiero mostrar los platos de un restaurante en una jsp, pero me he quedado un poco perdido.
Tengo esta jsp
Código:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="es">
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title></title>
        <link href="css/bootstrap.css" rel="stylesheet">
        <link href="css/business-casual.css" rel="stylesheet">
    </head>
    <body>
        <ul class="nav navbar-nav">
            <li><a href="index.jsp">Inicio</a></li>
            <li><a href="restaurante.jsp">Restaurantes</a></li>
            <li><a href="menu.jsp">Menus</a></li>
            <li><a href="plato.jsp">Platos</a></li>
            <li><a href="login.jsp">Login</a></li>
        </ul>
    </body>
</html>
Que llama a este action
Código:
package actions;

import com.opensymphony.xwork2.ActionSupport;

import dao.FactoriaDAO;
import dao.PlatoDAO;
@SuppressWarnings("serial")
public class AccionObtenerPlatoCategoria extends ActionSupport{
    private int idPlato;
    private String nombre;
    private String descripcion;
    private String Categoria;
   
    public int getIdPlato() {
        return idPlato;
    }

    public void setIdPlato(int idPlato) {
        this.idPlato = idPlato;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getCategoria() {
        return Categoria;
    }

    public void setCategoria(String categoria) {
        Categoria = categoria;
    }

    public String execute(){
        try{
            PlatoDAO plato = (PlatoDAO) FactoriaDAO.getInterfacePlatoDAO();
            plato.obtenerplato();
            return SUCCESS;
        }
        catch (Exception e) {
            return ERROR;
        }
    }
}
Y de alli llamo a un DAO que es el que obtiene los datos
Código:
package dao;

import java.sql.ResultSet;
import java.util.ArrayList;

import beans.Plato;
import db.DBFacade;

public class PlatoDAO implements InterfacePlatoDAO{
    private DBFacade db = null;
    public PlatoDAO() throws Exception{
        try{
            db = new DBFacade();
        }
        catch (Exception e) {       
            throw new Exception(e);
        }
    }
    /**
     *
     */
    public ArrayList<Plato> obtenerplato() throws Exception{
        ResultSet consul = null;
        ArrayList<Plato>  plato = new ArrayList<Plato>();
        try {
            db.abrirConexion();
            String query = "select * from plato";
            consul = db.ejecutarConsulta(query);
            while(consul.next()){
                Plato plat = new Plato();
                plat.setIdPlato(consul.getInt("idPlato"));
                plat.setNombre(consul.getString("nombre"));
                plat.setDescripcion(consul.getString("descripcion"));
                plat.setCategoria(consul.getString("Categoria"));
                plato.add(plat);
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            try{
                db.cerrarConexion();
            }
            catch (Exception e1) {
                throw new Exception(e1);
            }
        }
        return plato;
    }
    /**
     *
     */
    public ArrayList<Plato> obtenerplatocategoria(Plato plato) throws Exception{
        ResultSet consul = null;
        ArrayList<Plato>  platos = new ArrayList<Plato>();
        try {
            db.abrirConexion();
            String Categoria = plato.getCategoria();
            String query = "select * from plato where categoria=="+Categoria;
            consul = db.ejecutarConsulta(query);
            while(consul.next()){
                Plato plat = new Plato();
                plat.setIdPlato(consul.getInt("idPlato"));
                plat.setNombre(consul.getString("nombre"));
                plat.setDescripcion(consul.getString("descripcion"));
                plat.setCategoria(consul.getString("Categoria"));
                platos.add(plat);
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            try{
                db.cerrarConexion();
            }
            catch (Exception e1) {
                throw new Exception(e1);
            }
        }
        return platos;
    }
}
Los datos los obtiene de la base de datos pero me he quedado un poco perdido sobre como mostrarlos en la JSP.


En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: Duda con java y struts
« Respuesta #1 en: 15 Marzo 2014, 21:55 pm »

Hola,

En con los tags de JSTL, en concreto el grupo core, tiene un tag llamado forEarch.

Antes debes de usar el tag <jsp:useBean> luego de importar JSTL:

Código
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2. <!DOCTYPE html>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  4. <jsp:useBean name="beanplataodao" class="paquete.clase" scope="page"/>
  5. <head lang="es">
  6.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7.     <title>JSP Page</title>
  8. </head>
  9. <body>
  10.   Lista de platillos:
  11.   <c:forEach var="plato" items="${beanplatodao.listaPlatos}">
  12.       <c:out value="${plato}"/><br>
  13.   </c:forEach>
  14. </body>
  15. </html>

Solo debes crear un bean o EJB que haga uso del DAO platoDAO. No olvides que debes de crear sus propiedades también, por ejemplo:

Código
  1. public class BeanPlatoDAO {
  2.  
  3.    private Plato plato;
  4.    private List<Plato> listaPlatos;
  5.    private Connection conexion;
  6.    private PlatoDAO platodao;
  7.  
  8.   public BeanPlatoDAO() {
  9.     platodao = new PlatoDAO();
  10.     conexion = Conexion.getConexion();
  11.   }
  12.  
  13.   public List<Plato> getListaPlatos() {
  14.     listaPlatos = new ArrayList<>();
  15.     listaPlatos = platodao.getPlatos();
  16.     return listaPlatos;
  17.   }
  18.  
  19.   public Plato getPlato() {
  20.   // codigo
  21.   }
  22.  
  23.   // setters
  24.  
  25. }


Saludos.




« Última modificación: 15 Marzo 2014, 22:13 pm por Mitsu » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda en Java!!!
Java
Red_Star 4 3,394 Último mensaje 4 Enero 2006, 13:46 pm
por bruj0
Hola una duda con Struts
Java
Mr pom0 0 3,734 Último mensaje 26 Febrero 2010, 04:37 am
por Mr pom0
java struts 2: cuando se ejecuta execute?
Desarrollo Web
Kase 0 2,796 Último mensaje 19 Abril 2011, 02:31 am
por Kase
Apache Struts y los peligros de la teletransportación
Noticias
wolfbcn 0 1,278 Último mensaje 15 Septiembre 2017, 01:30 am
por wolfbcn
Spring, struts e hibernate
Java
Raijin 2 1,928 Último mensaje 9 Marzo 2019, 14:05 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines