<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-207654405902551668</id><updated>2012-02-07T06:32:31.915-08:00</updated><title type='text'>JSTL</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jstl-code.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jstl-code.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eric</name><uri>http://www.blogger.com/profile/04738667434492418561</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-207654405902551668.post-8152974738153212073</id><published>2011-06-23T13:36:00.000-07:00</published><updated>2011-06-23T13:36:09.264-07:00</updated><title type='text'>Request Parameters in JSTL</title><content type='html'>&lt;h3&gt;Display All Request Parameters in JSTL&lt;/h3&gt;&lt;br /&gt;The following piece of &lt;a href='http://java.sun.com/products/jsp/jstl/reference/docs/index.html'&gt;JSTL&lt;/a&gt; code displays all request parameters on the page,&lt;br /&gt;except for check-boxes and radio-buttons. They require the use of the &lt;i&gt;paramValues&lt;/i&gt; implicit object.&lt;br /&gt;&lt;pre&gt;&amp;lt;c:forEach items="${param}" var="par"&amp;gt;&lt;br /&gt;        Parameter Name/Value : &amp;lt;c:out value="${par.key} - ${par.value}"/&amp;gt;&lt;br /&gt;&amp;lt;/c:forEach&amp;gt;&lt;br /&gt;&lt;/pre&gt;To display session and request objects, use the following code:&lt;br /&gt;&lt;pre&gt;&amp;lt;c:forEach items="${sessionScope}" var="par"&amp;gt;&lt;br /&gt;        Session object name/value : &amp;lt;c:out value="${par.key} - ${par.value}"/&amp;gt;&lt;br /&gt;&amp;lt;/c:forEach&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;c:forEach items="${requestScope}" var="par"&amp;gt;&lt;br /&gt;        Request object name/value : &amp;lt;c:out value="${par.key} - ${par.value}"/&amp;gt;&lt;br /&gt;&amp;lt;/c:forEach&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt; Other implicit objects include &lt;i&gt;pageScope, applicationScope, header, headerValues, initParam, cookie&lt;/i&gt; and &lt;i&gt;pageContext&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Sorting Request Parameters&lt;/h3&gt;&lt;br /&gt;A java &lt;a href='http://java.sun.com/j2se/1.4.2/docs/api/java/util/TreeMap.html'&gt;TreeMap&lt;/a&gt; class that implements &lt;a href='http://java.sun.com/j2se/1.4.2/docs/api/java/util/SortedMap.html'&gt;&lt;br /&gt;SortedMap&lt;/a&gt; interface allows us to construct a sorted Map.&lt;br /&gt;To sort request parameters, or any other implicit objects that implement the Map interface, I built a small bean class.  Here is the source code listing:&lt;br /&gt;&lt;pre&gt;    package beans;&lt;br /&gt;    import java.util.Map;&lt;br /&gt;    import java.util.TreeMap;&lt;br /&gt;&lt;br /&gt;    public class SortMap{&lt;br /&gt;    private Map map;&lt;br /&gt;&lt;br /&gt;    public Map getMap() {&lt;br /&gt;        return map;&lt;br /&gt;    }&lt;br /&gt;    public void setMap(Map map) {&lt;br /&gt;        this.map = new TreeMap(map);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;The setMap method of the bean constructs a TreeMap object from the Map argument.&lt;br /&gt;&lt;p&gt; Now, it's easy to pass the map of request parameters to the new bean and obtain the key-value pairs from it:&lt;br /&gt;&lt;pre&gt; &amp;lt;jsp:useBean id="sorter" class= "beans.SortMap"&amp;gt;&lt;br /&gt;    &amp;lt;c:set target= "${sorter}" property="map" value="${param}"/&amp;gt;&lt;br /&gt;&amp;lt;/jsp:useBean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;c:forEach items="${sorter.map}" var="par"&amp;gt;&lt;br /&gt;        Parameter name/value : &amp;lt;c:out value="${par.key} -  ${par.value}"/&amp;gt;&lt;br /&gt;&amp;lt;/c:forEach&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/207654405902551668-8152974738153212073?l=jstl-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jstl-code.blogspot.com/feeds/8152974738153212073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jstl-code.blogspot.com/2011/06/request-parameters-in-jstl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/8152974738153212073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/8152974738153212073'/><link rel='alternate' type='text/html' href='http://jstl-code.blogspot.com/2011/06/request-parameters-in-jstl.html' title='Request Parameters in JSTL'/><author><name>Eric</name><uri>http://www.blogger.com/profile/04738667434492418561</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-207654405902551668.post-2214379517347193225</id><published>2011-05-03T16:10:00.000-07:00</published><updated>2011-05-03T16:10:27.750-07:00</updated><title type='text'>JSTL Pagination</title><content type='html'>The following code can be used to paginate database query results using JSTL.&lt;br /&gt;&lt;p&gt;The select statement results are stored in the &lt;i&gt;queryResults &lt;/i&gt;variable. Here is the paginator code:&lt;br /&gt;&lt;pre&gt;&amp;lt;c:set var="totalCount" scope="session" value="${queryResults.rowCount}"/&amp;gt;&lt;br /&gt;    &amp;lt;c:set var="perPage" scope="session" value="20"/&amp;gt;&lt;br /&gt;    &amp;lt;c:set var="totalPages" scope="session" value="${totalCount/perPage}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;c:set var="pageIndex" scope="session" value="${param.start/perPage+1}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;c:if test="${!empty param.start &amp;&amp; param.start &amp;gt;(perPage-1) &amp;&amp; param.start !=0 }"&amp;gt;&lt;br /&gt;          &amp;lt;a href="?start=&amp;lt;c:out value="${param.start - perPage}"/&amp;gt;"&amp;gt;Prev &amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/c:if&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;c:forEach&lt;br /&gt;        var="boundaryStart"&lt;br /&gt;        varStatus="status"&lt;br /&gt;        begin="0"&lt;br /&gt;        end="${totalCount - 1}"&lt;br /&gt;        step="${perPage}"&amp;gt;&lt;br /&gt;        &amp;lt;c:choose&amp;gt;&lt;br /&gt;            &amp;lt;c:when test="${status.count&amp;gt;0 &amp;&amp; status.count != pageIndex}"&amp;gt;&lt;br /&gt;                             &amp;lt;a href="?start=&amp;lt;c:out value='${boundaryStart}'/&amp;gt;"&amp;gt;&lt;br /&gt;&lt;br /&gt;                                &amp;lt;c:out value="${status.count}"/&amp;gt; |&lt;br /&gt;                            &amp;lt;/a&amp;gt;&lt;br /&gt;            &amp;lt;/c:when&amp;gt;&lt;br /&gt;        &amp;lt;c:otherwise&amp;gt;&lt;br /&gt;                &amp;lt;c:out value="${status.count}"/&amp;gt; |&lt;br /&gt;        &amp;lt;/c:otherwise&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/c:choose&amp;gt;&lt;br /&gt;    &amp;lt;/c:forEach&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;c:if test="${empty param.start || param.start&amp;lt;(totalCount-perPage)}"&amp;gt;&lt;br /&gt;          &amp;lt;a href="?start=&amp;lt;c:out value="${param.start + perPage}"/&amp;gt;"&amp;gt;Next &amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/c:if&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;The code makes heavy use of the count property of the &lt;i&gt;varStatus&lt;/i&gt; attribute.&lt;br /&gt;This attribute keeps count of the current round of the iteration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/207654405902551668-2214379517347193225?l=jstl-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jstl-code.blogspot.com/feeds/2214379517347193225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jstl-code.blogspot.com/2011/05/jstl-pagination.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/2214379517347193225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/2214379517347193225'/><link rel='alternate' type='text/html' href='http://jstl-code.blogspot.com/2011/05/jstl-pagination.html' title='JSTL Pagination'/><author><name>Eric</name><uri>http://www.blogger.com/profile/04738667434492418561</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-207654405902551668.post-4748116021039317099</id><published>2009-08-25T10:06:00.000-07:00</published><updated>2009-08-25T10:15:26.297-07:00</updated><title type='text'>JSTL Conditional Tags</title><content type='html'>I have started using the JSTL tags lately and found them extremely useful.  An interesting feature of the JSTL is that you can extend the existing tags to implement your own feaures. Recently I needed a functionality to determine whether a particular date was before or later than the current date.  Since I had to display different data based on the comparison result, I needed to use a structure similar to c:choose, c:when and c:otherwise tags.&lt;br /&gt;&lt;br /&gt;The when portion of the jsp page would look like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;d:dateChoose&gt;&lt;br /&gt;   &amp;lt;d:whenFuture year="${year}" month="${month}" &gt;&lt;br /&gt;   &amp;lt;input type=text value='&amp;lt;c:out value="${}"/&gt;'&gt;                  &lt;br /&gt;   &amp;lt;/d:whenFuture&gt;&lt;br /&gt;&amp;lt;/d:dateChoose&gt;                                &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The tag would accept two arguments: year, and month. The tag should construct an instance of the Calendar class and make comparison to the current date.&lt;br /&gt;&lt;br /&gt;First of all, you need to extend the ChooseTag, so that it would be in your package.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import org.apache.taglibs.standard.tag.common.core.ChooseTag;&lt;br /&gt;public class DateChoose extends ChooseTag {&lt;br /&gt;   public DateChoose() {&lt;br /&gt;       super();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you can see, you don't have to write any extra code for this class.&lt;br /&gt;&lt;br /&gt;For the when tag handler, you need to extend the WhenTagSupport class. You have to implement the condition () method inherited from the abstract ConditionalTagSupport class.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import javax.servlet.jsp.JspTagException;&lt;br /&gt;&lt;br /&gt;import org.apache.taglibs.standard.tag.common.core.WhenTagSupport;&lt;br /&gt;public class DateWhen extends WhenTagSupport {&lt;br /&gt;&lt;br /&gt;private String year, month;  &lt;br /&gt;&lt;br /&gt;  protected boolean condition() throws JspTagException {      &lt;br /&gt;   Calendar cNow = Calendar.getInstance();              &lt;br /&gt;   Calendar c = Calendar.getInstance();              &lt;br /&gt;   int y = Integer.parseInt(year);&lt;br /&gt;   int m = Integer.parseInt(month);&lt;br /&gt;   c.set(y, m, 1);                  &lt;br /&gt;   return c.after(cNow);  &lt;br /&gt;  }  &lt;br /&gt;  ... setMonth...method&lt;br /&gt;  ... setYear... method&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we construct a calendar object and compare it to the current date.&lt;br /&gt;&lt;br /&gt;For the tag handler to be able to accept jstl variables and find their values, I added 2 extra methods:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;private String findAttr(String attr){      &lt;br /&gt;     &lt;br /&gt;   String strAttr =parseVar(attr);          &lt;br /&gt;   Object objValue =null;  &lt;br /&gt;             &lt;br /&gt;   if(strAttr != null){          &lt;br /&gt;   objValue = pageContext.findAttribute(strAttr);&lt;br /&gt;   }  &lt;br /&gt;   if(objValue != null)&lt;br /&gt;   return objValue.toString();  &lt;br /&gt;   else&lt;br /&gt;      return null;      &lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   private String parseVar(String var){      &lt;br /&gt;   String jstlVar=null;      &lt;br /&gt; &lt;br /&gt;   if(var !=null &amp;amp;&amp;amp; var.startsWith("$"))&lt;br /&gt;        jstlVar = var.substring(var.indexOf("{")+1, var.indexOf("}"));&lt;br /&gt;     &lt;br /&gt;   return jstlVar;      &lt;br /&gt;    }  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;  The &lt;span style="font-weight: bold;"&gt;setYear&lt;/span&gt; method would go like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  public void setYear(String year) {&lt;br /&gt;   String value = findAttr(year);      &lt;br /&gt;   this.year = (value !=null)?value:year;  &lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;  The &lt;span style="font-weight: bold;"&gt;setMonth&lt;/span&gt; method would be similar to the above.&lt;br /&gt;&lt;br /&gt;   Now, the good news is that we don't have to write our own handler for the &amp;lt;otherwise&gt; part.&lt;br /&gt;  We can use the standard &lt;span style="font-weight: bold;"&gt;c:otherwise&lt;/span&gt; tag, so the final jsp code would look like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &amp;lt;d:dateChoose&gt;&lt;br /&gt;      &amp;lt;d:whenFuture year="${year}" month="${month}" &gt;&lt;br /&gt;   &amp;lt;input type=text value='&amp;lt;c:out value="${text}"/&gt;'&gt;                  &lt;br /&gt;      &amp;lt;/d:whenFuture&gt;&lt;br /&gt;      &amp;lt;c:otherwise&gt;&lt;br /&gt;    &amp;lt;c:out value="${text}"/&gt;&lt;br /&gt;      &amp;lt;/c:otherwise&gt;  &lt;br /&gt;   &amp;lt;/d:dateChoose&gt;                                &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/207654405902551668-4748116021039317099?l=jstl-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jstl-code.blogspot.com/feeds/4748116021039317099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jstl-code.blogspot.com/2009/08/jstl-conditional-tags.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/4748116021039317099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/4748116021039317099'/><link rel='alternate' type='text/html' href='http://jstl-code.blogspot.com/2009/08/jstl-conditional-tags.html' title='JSTL Conditional Tags'/><author><name>Eric</name><uri>http://www.blogger.com/profile/04738667434492418561</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-207654405902551668.post-6980217343029698141</id><published>2009-03-26T13:12:00.000-07:00</published><updated>2009-03-26T13:15:28.426-07:00</updated><title type='text'>Generic JSTL Code That Displays Database Results</title><content type='html'>The following generic JSTL code displays database query results in a table irrespective of how many columns the ResultSet has. The table heading will contain column names. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;table width&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;'90%'&lt;/span&gt;&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;tr&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach var&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;columnName&amp;quot;&lt;/span&gt; items&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;${queryResults.columnNames}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;th&lt;span style="color:#000000"&gt;&amp;gt;&amp;lt;&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;out value&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;${columnName}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;th&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;tr&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach var&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;row&amp;quot;&lt;/span&gt; items&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;${queryResults.rows}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;tr&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach var&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;columnName&amp;quot;&lt;/span&gt; items&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;${queryResults.columnNames}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000"&gt;&amp;lt;&lt;/span&gt;td&lt;span style="color:#000000"&gt;&amp;gt;&amp;lt;&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;out value&lt;span style="color:#000000"&gt;=&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;quot;${row[columnName]}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;td&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;tr&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;c&lt;span style="color:#000000"&gt;:&lt;/span&gt;forEach&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;&amp;lt;/&lt;/span&gt;table&lt;span style="color:#000000"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style:italic;"&gt;queryResults &lt;/span&gt;variable holds the ResultSet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/207654405902551668-6980217343029698141?l=jstl-code.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jstl-code.blogspot.com/feeds/6980217343029698141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jstl-code.blogspot.com/2009/03/generic-jstl-code-that-displays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/6980217343029698141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/207654405902551668/posts/default/6980217343029698141'/><link rel='alternate' type='text/html' href='http://jstl-code.blogspot.com/2009/03/generic-jstl-code-that-displays.html' title='Generic JSTL Code That Displays Database Results'/><author><name>Eric</name><uri>http://www.blogger.com/profile/04738667434492418561</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
