There's no reason to do this with c:forEach and c:out.

Use standard JSF components like h:outputText and either ui:repeat or
t:dataList as your iterator.   All of what you're doing is render-time
execution -- none of it has to be done at compile-time.   The only
reason you'd use c:forEach is if you want to dynamically create
multiple JSF components on a page rather than using an iterator
flyweight pattern.

What's the difference between c:forEach and ui:repeat?
http://wiki.java.net/bin/view/Projects/FaceletsFAQ#What_s_the_difference_between_c

On 8/24/06, Chris Hane <[EMAIL PROTECTED]> wrote:
I am trying to create an array of arrays (basically a lookup) in
javascript on my page.  When I execute the following, I get an error
that c:out is not recognized.

<c:out> Tag Library supports namespace: http://java.sun.com/jstl/core,
but no tag was defined for name: out

I am using
  - myfaces 1.1.3
  - facelets 1.1.11
  - jboss/seam (latest)
  - jstl (not sure how to tell which version - looks like 1.1)

Here is the code:

<h:form id="form1">
<snip lots of facelets code/>

<script type="text/javascript" language="Javascript1.1">
     ship = new Array(
       <c:forEach items="#{cart.methodThatReturnsASet}" var="rate">
          new Array(<c:out value="#{rate.method.id}"/>,
                    <c:out value="#{rate.amount}"/>)
       </c:forEach>
     );
</script>
</h:form>


I am trying to output two properties from each item in the set.  I've
tried different variations on the <c:out /> without success
(<h:outputText/>, straight el without a tag, and tried replacing # with $).

Any thoughts on how I can output the two properties on the iterated items?

Thanks,
Chris....

Reply via email to