Is possible : javascript access c:forEach tag value?
eswaramoorthy1985 Dec 21, 2010 1:11 AMHi,
i have displyed values using c:forEach. (The values got from backing bean).
Then I want to write javascript for read data from c:forEach values. Is possible?
<%@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 uri="http://richfaces.org/rich" prefix="rich"%> <%@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 getEachValue() { //Here i want to write a code for, access the c:forEach tag (displayed) value } </script> </head> <body> <h:form id="sampleForm" > <c:forEach items="${bean.pageHits}" var="pageHit"> <c:out value="${pageHit.period} : "/> <c:out value="${pageHit.hits}"/></br> </c:forEach> <a4j:commandButton id="getvalue" value="GetValue" oncomplete="getEachVaue()"/> </h:form> </body> </html> </f:view>
If I click GetValue button, then the javascript read all value in c:forEach.
Bean.java
import java.util.ArrayList; import java.util.List; public class Bean { private List<PageHit> pageHits = new ArrayList<PageHit>(); public Bean() { pageHits = loadItSomehow(); } public List<PageHit> getPageHits(){ return pageHits; } public void setPageHits(List<PageHit> pageHits){ this.pageHits = pageHits; } private List<PageHit> loadItSomehow() { List<PageHit> localpageHits = new ArrayList<PageHit>(); localpageHits.add(new PageHit("Jan 2010",60)); localpageHits.add(new PageHit("Feb 2010",30)); localpageHits.add(new PageHit("Mar 2010",90)); return localpageHits; } }
and
PageHit.java
public class PageHit { private String period; private Integer hits; public PageHit(String period, Integer hits){ this.period = period; this.hits = hits; } public String getPeriod(){ return period; } public void setPeriod(String period){ this.period = period; } public Integer getHits(){ return hits; } public void setHits(Integer hits){ this.hits = hits; } }
Help me.
Thanks in advance.