Estoy tratando de mostrar datos de DB. Pero muestra un error como
El servidor encontró una condición inesperada que le impidió cumplir con la solicitud
Excepción
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/pages/Detail.jsp at line 14 11: </head> 12: <body> 13: 14: <c:forEach var="x" items="${prdt}"> 15: <table> 16: <img src="resources/Images/${x.id}.png"/> 17: <td>" <c:forEach var="x" items="${prdt}"> <table> <img src="resources/Images/${x.id}.png"/> <td> <c:out value="${x.product_Name}"/></td> <td> <c:out value="${x.descripction}"/></td> <td> <c:out value="${x.price}"/></td> <td> <c:out value="${x.mfg_Date}"/> </td> </table> </c:forEach> public ModelAndView productDtails(@PathVariable int id) { ModelAndView model=new ModelAndView("Detail"); model.addObject("prdt",pd.getById(id)); return model; } public Product getById(int id) { Session session=sessionFactory.openSession(); Product p=(Product) session.get(Product.class, id); session.close(); return p; }¿¿¿¿Alguna idea????
No puede iterar sobre el objeto prdt , es decir, está utilizando la etiqueta forEach y prdt no es un objeto List , por lo que para resolver el problema simplemente elimine <c:forEach var="x" items="${prdt}"> o bien necesita devolver un objeto de list desde su controlador.
Su JSP se ve a continuación (después de eliminar <c:forEach ):
<table> <img src="resources/Images/${x.id}.png"/> <td> <c:out value="${prdt.product_Name}"/></td> <td> <c:out value="${prdt.descripction}"/></td> <td> <c:out value="${prdt.price}"/></td> <td> <c:out value="${prdt.mfg_Date}"/> </td> </table>Mi problema se resolvió agregando lo siguiente en el modelo
[AllowHtml] public string Description { get; set; }C# MVC para POST