I'm having difficulty showing the model values from my controller to my JSP view. Everything works in Tomcat 6. But it doesn't work in Tomcat 5.5. Here are my files.
web.xml for Tomcat 5.5 (For Tomcat 6, I use version="2.5" and the correct schema)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
Versions:
Tomcat: 5.5
Taglib: jstl.jar, standard.jar (1.1 version)
Controller
@Controller
@RequestMapping("/inventory")
public class SimpleController {
@Autowired
@Qualifier("inventoryService")
private IInventoryService inventoryService;
// Our default method when a simple GET request is made to /simple
@SuppressWarnings("unchecked")
@RequestMapping(method = RequestMethod.GET)
public String viewProducts(ModelMap model) {
List<IInventory> retrieved = inventoryService.getInventories();
List <InventoryDTO> inventories = new ArrayList();
for (IInventory inventory: retrieved) {
InventoryDTO inventoryDTO= new InventoryDTO();
inventoryDTO.setId(inventory.getId());
inventoryDTO.setBrandName(inventory.getBrand().getName());
inventories.add(inventoryDTO);
}
model.put ( "inventories", inventories );
// This will resolve to a logical view name /WEB-INF/jsp/inventoriesView.jsp
return "inventoriesView";
}
}
inventoriesView.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<html>
<head>
<style type="text/css">
<%@include file="../../resources/style.css" %>
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Inventories</title>
</head>
<body>
<h1>Inventory</h1>
<br/>
<%@include file="menu.jsp" %>
<br /><br />
<c:if test="${!empty inventories}" >
<table class="table" border="1">
<tr>
<th>ID</th>
<th>Brand</th>
</tr>
<c:forEach items="${inventories}" var="inventory">
<tr>
<td><c:out value="${inventory.id}" /></td>
<td><c:out value="${inventory.brandName}" /></td>
</tr>
</c:forEach>
</table>
</c:if>
<c:if test="${empty inventories}">
There are currently no inventories.
</c:if>
</body>
</html>
Remember this works flawlessly in Tomcat 6.0, but not in Tomcat 5.5. I don't get any error. It just won't display the data as if the model is null. When I call an EL expression {2+2} I get 4 as the value both for Tomcat 5.5 and 6. Thanks