Is possible : javascript extract value from c:forEach tag?

18,532

Just print it in JavaScript syntax instead of HTML syntax.

<script>
    var data = {
        <c:forEach items="${cTagBean.tagList}" var="ctag" varStatus="loop">
            '${ctag.name}': ${ctag.age}${!loop.last ? ',' : ''}
        </c:forEach>
    };
</script>

So that it end up as valid JavaScript object (assuming that name returns String and age returns Number):

<script>
    var data = {
        'foo': 10,
        'bar': 5,
        'waa': 20
    };
</script>
Share:
18,532
Eswar
Author by

Eswar

Updated on June 04, 2022

Comments

  • Eswar
    Eswar almost 2 years


    i have populate some values using c:forEach tag. I want to get those values in my javascript.
    If I click GetCtag value button, then i want to read from (c:forEach) values in javascript.

    Is any other-way to retrieve the c:forEach tag value

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>    
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    
    <f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
           <script type="text/javascript"> 
    
           function getCTagValue(ctagObject)
           {
              alert("CFor Each Tag Object Value: " + ctagObject);
              // Here i want write code for retrieve the c:forEach tag value   
           }
    
    </script>
    </head>
        <body>
            <h:form id="cTagForm" >               
    
                <c:forEach items="${cTagBean.tagList}" var="ctag">
                    <c:out value="${ctag.name} : "/>
                    <c:out value="${ctag.age}"/></br>
                </c:forEach>
    
                <a4j:commandButton id="GetCtagId"  value="GetCtag" oncomplete="getCTagValue('#{cTagBean.tagList}')"/>
    
            </h:form>
        </body>
    </html>
    

    Help me. Thanks in advance.