1. (FAQS) Si echamos un vistazo a nuestra aplicación de FAQs, las páginas faqs.jsp, delete_menu.jsp y update_menu.jsp muestran listados de FAQs: la primera para elegir de qué FAQs queremos obtener los datos, y las otras dos para elegir qué FAQ queremos borrar o actualizar, respectivamente.
Para poder mostrar estas listas, se emplean bucles "for" con código Java:
<% FAQBean[] faqs = (FAQBean[])request.getAttribute("faqs"); %> ... codigo HTML <% for (int i = 0; i < faqs.length; i++) {%> ... codigo para mostrar cada FAQ <% } %>
Lo que se pide es sustituir esos bucles "for" en estas tres páginas por tags forEach de JSTL que hagan lo mismo. Para ello:
<taglib> <taglib-uri>core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib>NOTA: consultad la configuración de aplicaciones Web para ver dónde debe ir la marca taglib en el fichero descriptor
<%@ taglib uri="core" prefix="c" %>
<c:forEach var="nombreVar" items="conjunto"> ... ...<c:out value="${nombreVar.nombreCampo}"/> ... </c:forEach>donde conjunto sería el nombre de la lista que queremos recorrer.
No utilizaremos los beans, así que no necesitamos las líneas:
<jsp:useBean ... /><jsp:setProperty name="faq" property="id" .../> <jsp:setProperty name="faq" property="pregunta" .../> <jsp:setProperty name="faq" property="respuesta" .../> <jsp:setProperty name="faq" property="fechaModif" .../>... etc.
Se trata simplemente de recorrer la lista de FAQs con un tag forEach:
<c:forEach var="listafaqs" items="${faqs}"> ... </c:forEach>luego, dentro del bucle, utilizamos el tag out para obtener los valores deseados en los lugares indicados:
... <c:out value="${listafaqs.id}"/> ...
2. (FAQS) En los ejercicios de la sesión anterior hemos utilizado tags de la librería request para obtener el valor de algunos parámetros en delete.jsp, insert.jsp y update.jsp. Si os da tiempo, lo que proponemos en este ejercicio es que sustituyáis esos tags de la librería request por sus correspondientes en JSTL.