A few notes for a few common JSTL things so I don’t forget:
taglibs:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
Conditionals:
<c:choose>
<c:when test=””>
</c:when>
<!--other when conditions -->
<c:otherwise>
</c:otherwise>
</c:choose>
String replace using replace function:
${fn:replace(foo, '"', '\"')}
This next tip for using a loop varStatus to build HTML ids is from: http://stackoverflow.com/questions/6600738/use-jstl-foreach-loops-varstatus-as-an-id
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount}">
</div>
</c:forEach>
This unexpectedly gives:
<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2">
To get the actual varStatus id you need to use:
${theCount.index} gives value from 0
${theCount.count} gives value from 1
For example:
<div id="divIDNo${theCount.index}">