Jeff,
Thanks. I remember this now. I've not tried to combine them, so I
forgot there was an issue. Until I move to JSF 1.2, I found a simple
hack that works around the problem. Basically, I'm outputing the
iteration string from a Managed Bean (didn't want to create a tag just
for this - hoping your right and I can get rid of the hack once I start
using the unified el/jsp).
Thanks again,
Chris....
Jeff Bischoff wrote:
Oh, and another thing Chris:
That snippet of code that you posted definately will not work in JSF 1.1
>> <c:forEach items="#{cart.methodThatReturnsASet}" var="rate">
>> new Array(<c:out value="#{rate.method.id}"/>,
>> <c:out value="#{rate.amount}"/>)
>> </c:forEach>
Can't use JSF EL in a JSTL iterative tag like this until JSF 1.2
See [1] for an explanation from Sun of the problem and how the new spec
fixes it.
Article [2] was also helpful to me in getting JSF and JSTL to play
(relatively) nice.
[1] http://java.sun.com/developer/technicalArticles/J2EE/jsp_21/
[2] http://www.javaworld.com/javaworld/jw-12-2004/jw-1213-jsf-p2.html
Regards,
Jeff Bischoff
Kenneth L Kurz & Associates, Inc.
Jeff Bischoff wrote:
You didn't give us all of the JSP :)
What taglib lines do you have at the top?
e.g. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Hopefully you only used the "c" prefix once? ;)
I don't use facelets, so I'm not sure if that causes conflicts, but I
am successfully using myfaces 1.1.3, jboss, jstl 1.1.2
To check your version of JSTL, find the "jstl.jar" (or similar) file.
Open it with either the jar utility in java or (easier) a program like
winzip. Open the file Manifest.mf, and look for lines like the following:
Implementation-Version: 1.1.2
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
You should also open "standard.jar", and make sure this is the same
version as "jstl.jar".
Regards,
Jeff Bischoff
Kenneth L Kurz & Associates, Inc.
Chris Hane 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....