Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to Use <c:forEach> in scripts tag on JSP page?

Hey How to use loop in tag in jsp page?

i want to use JSTL data to pass in data tables

my code is like :

        $(document).ready(function() {


            /* Init DataTables */
            var startString = "[";
            var mainString = "";
            var endString = "]";


            var temp = ${k.size()};
        <c:forEach items="${k}" var="stdn" varStatus="status">
            temp--;
            if (temp === 0) {
                mainString = mainString + "{key:\"" + "${stdn.key}" + "\",name:\"" + "${stdn.value.name}" + "\",rollno:\"" + "${stdn.value.rollNo}" + "\",marks:\"" + "${stdn.value.marks}" + "\"}";
            } else {
                mainString = mainString + "{key:\"" + "${stdn.key}" + "\",name:\"" + "${stdn.value.name}" + "\",rollno:\"" + "${stdn.value.rollNo}" + "\",marks:\"" + "${stdn.value.marks}" + "\"},";
            }
        </c:forEach>
                var finalString = startString + mainString + endString;
                var final = eval(finalString);
like image 330
Mayur Patel Avatar asked Aug 29 '13 05:08

Mayur Patel


People also ask

What is the use of c forEach tag?

The <c:for each > is an iteration tag used for repeating the nested body content for fixed number of times or over the collection. These tag used as a good alternative for embedding a Java while, do-while, or for loop via a scriptlet.

Which tag is used to iterate over a list of items in JSP?

JSTL foreach tag allows you to iterate or loop Array List, HashSet or any other collection without using Java code.


1 Answers

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:forEach>YOUR CODE </title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   NAME <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>

This would produce following result:

NAME 1
NAME 2
NAME 3
NAME 4
NAME 5

Above is simplest example.. following is with items var

<table>
      <c:forEach var="student" items="${person.person}" varStatus="counter">
        <c:choose>
          <c:when test="${counter.count % 2 == 0}">
            <c:set var="rowStyle" scope="page" value="odd"/>
          </c:when>
          <c:otherwise>
            <c:set var="rowStyle" scope="page" value="even"/>
          </c:otherwise>
        </c:choose>
        <tr class="ÃÂ${rowStyle}">
          <td>${student.name}</td>
          <td>${student.age}</td>
          <td>${student.height}</td>
        </tr>
      </c:forEach>
    </table>

this way you can use the <c:forEach> </c:forEach> TAG..

If you have any specific problem then please explain

like image 103
User 1531343 Avatar answered Oct 09 '22 23:10

User 1531343