在类型java.lang.String上找不到Servlet属性'nombreEvento'

时间:2016-05-24 19:02:19

标签: string jsp servlets el propertynotfoundexception

  

当它显示它抛出的表时,我不知道我做错了什么   那个例外,似乎问题是'nombreEvento'   变量,但我检查了注释和atributte,两者都是   右

     

jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="ISO-8859-1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Bootstrap 3, from LayoutIt!</title>

    <meta name="description" content="Source code generated using layoutit.com">
    <meta name="author" content="LayoutIt!">

    <link href="./css/bootstrap.min.css" rel="stylesheet">
    <link href="./css/style.css" rel="stylesheet">
</head>
<body>
  <div class="container-fluid">
    <div class="row">
        <div class="col-md-12">
        <nav class="navbar navbar-default" role="navigation">
                <div class="navbar-header">

                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                         <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
                    </button> <a class="navbar-brand" href="#">AndalusiPark Eventos</a>
                </div>

                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                        <li class="active">
                            <a href="<c:url value="/app/formularioUsuario.jsp"/>">Registrarte</a>
                        </li>
                        <li>
                            <a href="#">Link</a>
                        </li>
                        <li class="dropdown">
                             <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<strong class="caret"></strong></a>
                            <ul class="dropdown-menu">
                                <li>
                                    <a href="#">Action</a>
                                </li>
                                <li>
                                    <a href="#">Another action</a>
                                </li>
                                <li>
                                    <a href="#">Something else here</a>
                                </li>
                                <li class="divider">
                                </li>
                                <li>
                                    <a href="#">Separated link</a>
                                </li>
                                <li class="divider">
                                </li>
                                <li>
                                    <a href="#">One more separated link</a>
                                </li>
                            </ul>
                        </li>
                    </ul>
                    <form class="navbar-form navbar-left" role="search">
                        <div class="form-group">
                            <input type="text" class="form-control">
                        </div> 
                        <button type="submit" class="btn btn-default">
                            Submit
                        </button>
                    </form>
                    <ul class="nav navbar-nav navbar-right">
                        <li>
                            <a href="#">Link</a>
                        </li>
                        <li class="dropdown">
                             <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<strong class="caret"></strong></a>
                            <ul class="dropdown-menu">
                                <li>
                                    <a href="#">Action</a>
                                </li>
                                <li>
                                    <a href="#">Another action</a>
                                </li>
                                <li>
                                    <a href="#">Something else here</a>
                                </li>
                                <li class="divider">
                                </li>
                                <li>
                                    <a href="#">Separated link</a>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </div>

            </nav>
            <h3>
                Bienvenid@ al servicio exclusivo de creación de eventos del hotel AndalusiPark
            </h3>
        <c:if test="${not empty eventos }">
            <table class="table table-hover table-bordered">
                <thead>
                    <tr>
                        <th>
                            #
                        </th>
                        <th>
                            Título evento
                        </th>
                        <th>
                            Tipo
                        </th>
                        <th>
                            Fecha de celebración
                        </th>
                        <th>
                            Precio en €
                        </th>
                    </tr>
                </thead>
                <tbody>
            <c:forEach items="eventos" var="e">
                    <tr>
                        <td>
                            1
                        </td>
                        <td>
                            ${e.nombreEvento }
                        </td>
                        <td>
                            ${e.tipoEvento }
                        </td>
                        <td>
                            ${e.fechaCelebracion }
                        </td>
                        <td>
                            ${e.precioEvento }

                        </td>
                        <td>
                            <a href="#" class="btn btn-info"> <span class="glyphicon glyphicon-info-sign"></span></a>
                        </td>
                    </tr>

                    </c:forEach> 
                </tbody>
            </table>
        </c:if> 

        </div>
    </div>
</div>

    <script src="./js/jquery.min.js"></script>
    <script src="./js/bootstrap.min.js"></script>
    <script src="./js/scripts.js"></script>
</body>
</html>
  

pojo类

@Entity
@Table(name = "eventos")
public class Evento {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "idEvento")
    private long idEvento;

    @Column(name = "nombreEvento")
    private String nombreEvento;

    @Column(name = "tipoEvento")
    private String tipoEvento;

    @Column(name = "descripcionEvento")
    private String descripcionEvento;

    @Column(name = "precioEvento")
    private double precioEvento;

    @Column(name = "fechaCreacion")
    private Date fechaCreacion;

    @Column(name = "fechaCelebracion")
    @Type(type="date")
    private Date fechaCelebracion;

    // Los días que faltan para que se cumpla el evento
    @Column(name = "diasRestantes")
    private long diasRestantes;

    @Column(name = "iva")
    private double iva;

    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name = "usuario_id")
    private Usuario usuario;

    @OneToMany(mappedBy = "primaryKey.evento",fetch=FetchType.EAGER)
    @Cascade(CascadeType.ALL)
    @ElementCollection(targetClass=Integer.class)
    private Collection<Asiste> listadoAsistentes;

    public Evento() {
        super();
    }

    public Evento(long idEvento, String nombreEvento, String tipoEvento, String descripcionEvento, double precioEvento,
            Date fechaCreacion, Date fechaCelebracion, long diasRestantes, double iva, Usuario usuario,
            Collection<Asiste> listadoAsistentes) {
        super();
        this.idEvento = idEvento;
        this.nombreEvento = nombreEvento;
        this.tipoEvento = tipoEvento;
        this.descripcionEvento = descripcionEvento;
        this.precioEvento = precioEvento;
        this.fechaCreacion = fechaCreacion;
        this.fechaCelebracion = fechaCelebracion;
        this.diasRestantes = diasRestantes;
        this.iva = iva;
        this.usuario = usuario;
        this.listadoAsistentes = listadoAsistentes;
    }

    public Evento(String nombreEvento, String tipoEvento, String descripcionEvento, double precioEvento,
            Date fechaCreacion, Date fechaCelebracion, long diasRestantes, double iva, Usuario usuario,
            Collection<Asiste> listadoAsistentes) {
        super();
        this.nombreEvento = nombreEvento;
        this.tipoEvento = tipoEvento;
        this.descripcionEvento = descripcionEvento;
        this.precioEvento = precioEvento;
        this.fechaCreacion = fechaCreacion;
        this.fechaCelebracion = fechaCelebracion;
        this.diasRestantes = diasRestantes;
        this.iva = iva;
        this.usuario = usuario;
        this.listadoAsistentes = listadoAsistentes;
    }

    public long getIdEvento() {
        return idEvento;
    }

    public void setIdEvento(long idEvento) {
        this.idEvento = idEvento;
    }

    public String getNombreEvento() {
        return nombreEvento;
    }

    public void setNombreEvento(String nombreEvento) {
        this.nombreEvento = nombreEvento;
    }

    public String getTipoEvento() {
        return tipoEvento;
    }

    public void setTipoEvento(String tipoEvento) {
        this.tipoEvento = tipoEvento;
    }

    public String getDescripcionEvento() {
        return descripcionEvento;
    }

    public void setDescripcionEvento(String descripcionEvento) {
        this.descripcionEvento = descripcionEvento;
    }

    public double getPrecioEvento() {
        return precioEvento;
    }

    public void setPrecioEvento(double precioEvento) {
        this.precioEvento = precioEvento;
    }

    public Date getFechaCreacion() {
        return fechaCreacion;
    }

    public void setFechaCreacion(Date fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }

    public Date getFechaCelebracion() {
        return fechaCelebracion;
    }

    public void setFechaCelebracion(Date fechaCelebracion) {
        this.fechaCelebracion = fechaCelebracion;
    }

    public long getDiasRestantes() {
        return diasRestantes;
    }

    public void setDiasRestantes(long diasRestantes) {
        this.diasRestantes = diasRestantes;
    }

    public double getIva() {
        return iva;
    }

    public void setIva(double iva) {
        this.iva = iva;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Collection<Asiste> getListadoAsistentes() {
        return listadoAsistentes;
    }

    public void setListadoAsistentes(Collection<Asiste> listadoAsistentes) {
        this.listadoAsistentes = listadoAsistentes;
    }

    @Override
    public String toString() {
        return "Evento [idEvento=" + idEvento + ", nombreEvento=" + nombreEvento + ", tipoEvento=" + tipoEvento
                + ", descripcionEvento=" + descripcionEvento + ", precioEvento=" + precioEvento + ", fechaCreacion="
                + fechaCreacion + ", fechaCelebracion=" + fechaCelebracion + ", diasRestantes=" + diasRestantes
                + ", iva=" + iva + ", usuario=" + usuario + ", listadoAsistentes=" + listadoAsistentes + "]";
    }

    // Métodos propios
    public double calcularIva() {
        return (precioEvento * (iva / 100)) + precioEvento;
    }

}
  

Servlet

@WebServlet("/TablaInicioServlet")
public class TablaInicioServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public TablaInicioServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        // response.getWriter().append("Served at:
        // ").append(request.getContextPath());

        GestionEventos gestionEventos = new GestionEventos();

        Collection<Evento> listaEventos = gestionEventos.list();

        // Entiendo que el atributo "eventos es para conectar con el html"
        request.setAttribute("eventos", listaEventos);

        request.getRequestDispatcher("tabla.jsp").forward(request, response);

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
Stacktrace:] con causa raíz
javax.el.PropertyNotFoundException: Propiedad 'nombreEvento' no hallada en el tipo java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:229)
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:206)
    at javax.el.BeanELResolver.property(BeanELResolver.java:317)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:85)
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    at org.apache.jsp.tabla_jsp._jspx_meth_c_005fforEach_005f0(tabla_jsp.java:301)
    at org.apache.jsp.tabla_jsp._jspx_meth_c_005fif_005f0(tabla_jsp.java:258)
    at org.apache.jsp.tabla_jsp._jspService(tabla_jsp.java:177)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at com.andalusipark.servlet.evento.RegistroEventoServlet.doPost(RegistroEventoServlet.java:106)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

0 个答案:

没有答案