我使用JSF和JPA(mysql)编写购物车简单应用程序。 我有一个xhtml页面,在上面显示了一个书籍表。我在最后一栏中使用了一个简单的“购买链接”(commandlink)。当我点击此链接时,它必须在底部绘制另一个表带有ajax(购物车)的页面。
XHTML
<f:view>
<h:form id="formulario">
<center><h1>Libros del tema: <h:outputText value="#{temasBean.tema}"/></h1></center>
<table align="center" border="1">
<tr>
<td>Título</td><td>Autor</td><td>Precio</td>
</tr>
<c:forEach id="libros" var="libros" items="#{temasBean.librosList}">
<tr>
<td><h:outputText value="${libros.titulo}"/></td>
<td><h:outputText value="${libros.autor}"/></td>
<td><h:outputText value="${libros.precio}"/></td>
<td><h:commandLink action="#{ventasBean.doComprar()}">
Comprar
<f:param id="isbn" name="isbn" value="${libros.isbn}"/>
<f:ajax execute="#{ventasBean.recuperaCarrito()}" render="carro"/>
</h:commandLink></td>
</tr>
</c:forEach>
</table>
<center><a href="buscar.xhtml">Volver</a></center>
<center><h1>Carrito</h1></center>
<table id="carro" align="center" border="1">
<tr>
<td>Título</td><td>Precio</td>
</tr>
<c:forEach id="items" var="item" items="#{ventasBean.recuperaCarrito()}">
<tr>
<td><h:outputText id="titulo" value="${item.libro.titulo}"/></td>
<td><h:outputText id="precio" value="${item.libro.precio}"/></td>
<td><h:commandLink action="#{ventasBean.doEliminarArticulo()}">
Eliminar
<f:param id="isbn2" name="isbn" value="${item.libro.isbn}"/>
<f:ajax render="carro"/>
</h:commandLink></td>
</tr>
</c:forEach>
</table>
<center><h:commandLink action="#{ventasBean.doEfectuarCompra()}">Ejecutar compra</h:commandLink></center>
</h:form>
</f:view>