【发布时间】:2015-09-08 16:10:26
【问题描述】:
我已经在 Netbeans 中设置了 Tomcat (TomEE)/7.0.62 (1.7.2) 并且服务器运行良好。我在 $CATALINA_HOME/lib 中添加了这些 jar:
- javaee-api-6.0-6.jar
- javax.servlet.jsp.jstl-1.2.1.jar
我在 context.xml 和 web.xml 中进行了适当的配置,以便使用 JDBC for Mysql 访问数据库,因为我能够使用这些 JSTL 标签查看数据:
<c:forEach var="cartItem" items="${cart.items}" varStatus="iter">
<c:set var="product" value="${cartItem.product}"/>
<div id="product_container_cart" class="lazyload">
<div class="product_img_container">
<div id="product_image"><a href="viewProduct?${product.id}">
<img class="cart_img" alt="" src="${initParam.productGalleryImagePath}${product.id} (1).jpg" /></a></div>
</div>
<div class="product_name_container">
<div style="text-align:center;" id="product_name"><a class="category_links" href="viewProduct?${product.id}">${product.name}</a></div>
</div>
<div class="product_price_container">
<div id="product_price" style="text-align:center;" >$${product.price}</div></div>
<div id="button_wrapper_cart">
<div id="add_toList_cart"><form id="wishlistFormCart" action="addToWishlist" method="post">
<input name="productId" value="${product.id}" type="hidden">
<input id="submit_list_cart" class="submit" value="<fmt:message key='AddToWishlist'/>" type="submit">
</form></div>
<div id="updateCart">
<form id="updateForm" action="updateCart" method="post">
<input type="hidden"
name="productId"
value="${product.id}">
<label for="quantity">Quantity</label>
<input type="text"
maxlength="2"
size="2"
value="${cartItem.quantity}"
name="quantity"
style="margin:0px">
<input class="updateButton" type="submit"
name="submit"
onclick="updatedCart()"
value="<fmt:message key='update'/>">
</form>
</div>
</div>
</div>
</c:forEach>
但使用这些标签,数据不会显示:
<c:forEach var="product" items="${categoryProducts}" varStatus="iter">
<div id="product_container" class="lazyload">
<div class="product_img_container">
<div id="product_image"><a href="viewProduct?${product.id}">
<img class="img" alt="" src="${initParam.productGalleryImagePath}${product.id} (1).jpg" /></a></div>
</div>
<div class="product_name_container">
<div id="product_name"><a class="category_links" href="viewProduct?${product.id}">${product.name}</a></div>
</div>
<div class="product_price_container">
<div id="product_price">$${product.price}</div></div>
<div id="button_wrapper_category">
<div id="add_toList">
<form id="wishlistForm" action="addToWishlist" method="post">
<input name="productId" value="${product.id}" type="hidden">
<input id="submit_list" class="submit" value="<fmt:message key='AddToWishlist'/>" type="submit">
</form></div>
<div id="add_toCart">
<form id="cartForm" action="addToCart" method="post">
<input name="productId" value="${product.id}" type="hidden">
<input id="submit_cart" class="submit" value="<fmt:message key='AddToCart'/>" type="submit">
</form></div>
</div>
</div>
</c:forEach>
知道为什么吗?我通过尝试显示简单的产品 ID 来测试与数据库的连接:
<%@ page import="java.sql.*" %>
<% Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost/<DATABASE NAME>?user=<USERNAME>&password=<PASSWORD>");
Statement sql = connection.createStatement();
ResultSet result = sql.executeQuery("SELECT product FROM category_has_product");
while(result.next() )
{
out.println(result.getString("product_id") + "<br />");
} %>
我能够显示所有产品 ID,这是 Tomcat 可以成功连接到数据库并检索请求数据的好兆头。那么第二个标签有什么问题呢?
【问题讨论】:
标签: java mysql jsp tomcat jstl