I need help figuring something out. I am trying to display data on a page that was gotten from a database and I am almost there but I am having trouble figuring out JSTL and the forEach tag

Nothing I have tried works. I am sure data is being returned to the productList because I can loop through it in the servlet and get the expected data.

//In product Servlet
List<Product> productList = new ArrayList<Product>(); 
ProductList = obj.productSearch(price, size, color);
request.setAttribute("productList", productList);
request.getRequestDispatcher("Results.jsp").forward(request, response);

//In JSP page
<c:forEach var="products" items="${productList}">
<td${product.ProductID}</td>//Does not work
<td${product}</td>//Does not work
<td${product.getProductID()}</td>//Does not work
<td><c:out ${product.ProductID}/></td>//Does not work
<td><c:out value="${product}"/></td>//Does not work