title: Servlet Property 'nombreEvento' not found on type java.lang.String
body: <blockquote>
    <p>I don't know what i am doing wrong, when it show the table it throws
    that exception, it seems that the problem is the 'nombreEvento'
    variable but i have checked the annotation and atributte and both are
    right</p>
    
    <p>The jsp</p>
  </blockquote>
  
  <pre><code>&lt;%@ page language="java" pageEncoding="UTF-8"%&gt;
  &lt;%@ taglib prefix="fmt" 
             uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
  &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;    
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
  &lt;html&gt;
  &lt;head&gt;
  &lt;meta charset="ISO-8859-1"&gt;
      &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
      &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
  
      &lt;title&gt;Bootstrap 3, from LayoutIt!&lt;/title&gt;
  
      &lt;meta name="description" content="Source code generated using layoutit.com"&gt;
      &lt;meta name="author" content="LayoutIt!"&gt;
  
      &lt;link href="./css/bootstrap.min.css" rel="stylesheet"&gt;
      &lt;link href="./css/style.css" rel="stylesheet"&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;div class="container-fluid"&gt;
      &lt;div class="row"&gt;
          &lt;div class="col-md-12"&gt;
          &lt;nav class="navbar navbar-default" role="navigation"&gt;
                  &lt;div class="navbar-header"&gt;
  
                      &lt;button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"&gt;
                           &lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;&lt;span class="icon-bar"&gt;&lt;/span&gt;&lt;span class="icon-bar"&gt;&lt;/span&gt;&lt;span class="icon-bar"&gt;&lt;/span&gt;
                      &lt;/button&gt; &lt;a class="navbar-brand" href="#"&gt;AndalusiPark Eventos&lt;/a&gt;
                  &lt;/div&gt;
  
                  &lt;div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"&gt;
                      &lt;ul class="nav navbar-nav"&gt;
                          &lt;li class="active"&gt;
                              &lt;a href="&lt;c:url value="/app/formularioUsuario.jsp"/&gt;"&gt;Registrarte&lt;/a&gt;
                          &lt;/li&gt;
                          &lt;li&gt;
                              &lt;a href="#"&gt;Link&lt;/a&gt;
                          &lt;/li&gt;
                          &lt;li class="dropdown"&gt;
                               &lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;strong class="caret"&gt;&lt;/strong&gt;&lt;/a&gt;
                              &lt;ul class="dropdown-menu"&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Action&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Another action&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Something else here&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li class="divider"&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Separated link&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li class="divider"&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;One more separated link&lt;/a&gt;
                                  &lt;/li&gt;
                              &lt;/ul&gt;
                          &lt;/li&gt;
                      &lt;/ul&gt;
                      &lt;form class="navbar-form navbar-left" role="search"&gt;
                          &lt;div class="form-group"&gt;
                              &lt;input type="text" class="form-control"&gt;
                          &lt;/div&gt; 
                          &lt;button type="submit" class="btn btn-default"&gt;
                              Submit
                          &lt;/button&gt;
                      &lt;/form&gt;
                      &lt;ul class="nav navbar-nav navbar-right"&gt;
                          &lt;li&gt;
                              &lt;a href="#"&gt;Link&lt;/a&gt;
                          &lt;/li&gt;
                          &lt;li class="dropdown"&gt;
                               &lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Dropdown&lt;strong class="caret"&gt;&lt;/strong&gt;&lt;/a&gt;
                              &lt;ul class="dropdown-menu"&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Action&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Another action&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Something else here&lt;/a&gt;
                                  &lt;/li&gt;
                                  &lt;li class="divider"&gt;
                                  &lt;/li&gt;
                                  &lt;li&gt;
                                      &lt;a href="#"&gt;Separated link&lt;/a&gt;
                                  &lt;/li&gt;
                              &lt;/ul&gt;
                          &lt;/li&gt;
                      &lt;/ul&gt;
                  &lt;/div&gt;
  
              &lt;/nav&gt;
              &lt;h3&gt;
                  Bienvenid@ al servicio exclusivo de creación de eventos del hotel AndalusiPark
              &lt;/h3&gt;
          &lt;c:if test="${not empty eventos }"&gt;
              &lt;table class="table table-hover table-bordered"&gt;
                  &lt;thead&gt;
                      &lt;tr&gt;
                          &lt;th&gt;
                              #
                          &lt;/th&gt;
                          &lt;th&gt;
                              Título evento
                          &lt;/th&gt;
                          &lt;th&gt;
                              Tipo
                          &lt;/th&gt;
                          &lt;th&gt;
                              Fecha de celebración
                          &lt;/th&gt;
                          &lt;th&gt;
                              Precio en €
                          &lt;/th&gt;
                      &lt;/tr&gt;
                  &lt;/thead&gt;
                  &lt;tbody&gt;
              &lt;c:forEach items="eventos" var="e"&gt;
                      &lt;tr&gt;
                          &lt;td&gt;
                              1
                          &lt;/td&gt;
                          &lt;td&gt;
                              ${e.nombreEvento }
                          &lt;/td&gt;
                          &lt;td&gt;
                              ${e.tipoEvento }
                          &lt;/td&gt;
                          &lt;td&gt;
                              ${e.fechaCelebracion }
                          &lt;/td&gt;
                          &lt;td&gt;
                              ${e.precioEvento }
  
                          &lt;/td&gt;
                          &lt;td&gt;
                              &lt;a href="#" class="btn btn-info"&gt; &lt;span class="glyphicon glyphicon-info-sign"&gt;&lt;/span&gt;&lt;/a&gt;
                          &lt;/td&gt;
                      &lt;/tr&gt;
  
                      &lt;/c:forEach&gt; 
                  &lt;/tbody&gt;
              &lt;/table&gt;
          &lt;/c:if&gt; 
  
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  
      &lt;script src="./js/jquery.min.js"&gt;&lt;/script&gt;
      &lt;script src="./js/bootstrap.min.js"&gt;&lt;/script&gt;
      &lt;script src="./js/scripts.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <blockquote>
    <p>The pojo class</p>
  </blockquote>
  
  <pre><code>@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&lt;Asiste&gt; 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&lt;Asiste&gt; 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&lt;Asiste&gt; 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&lt;Asiste&gt; getListadoAsistentes() {
          return listadoAsistentes;
      }
  
      public void setListadoAsistentes(Collection&lt;Asiste&gt; 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;
      }
  
  }
  </code></pre>
  
  <blockquote>
    <p>The Servlet</p>
  </blockquote>
  
  <pre><code>@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&lt;Evento&gt; 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)
  </code></pre>