Equal symbol expected?

Can anyone see the bug in the following line of code?


<html:option value="<bean:write name="zipIter"/>" ><bean:write name="zipIter"/></html:option>

I think it has something to do with the html:option tag. It’s throwing a Jasper exception saying “(400,64) equal symbol expected”. This is line 400. After tabs the 64 puts it right between the r" of “zipIter” in the first bean:write tag. I’m pretty sure my iterator and such is working - it all works fine without the html:option tag. I’ve looked over it and can’t spot anything, though it’s probably a dumb little error. Anyway, any help would be appreciated. Thanks!
…hmmmm, could it be the quotes? Though I don’t think that should matter, should it?

I’m pretty sure you can’t nest the tags like that.

Yes you can not use
<bean:write name=“zipIter”/> in the value itself
for this sake you need to create the new variable as
<bean:defione id=“abcd” name=“zipIter” toScope=“request”/>
and then use it as
<html:option value=“<%=abcd%>” ><bean:write name=“zipIter”/></html:option>

or else you can try this is also (but i am not sure this will work or not)
<html:option name=“zipIter” ><bean:write name=“zipIter”/></html:option>

Well, neither are working. The first one gives me this error:

org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 402 in the jsp file: /cars/uadmin/addedit.jsp
Generated servlet error:
The method setValue(String, Object) in the type TagSupport is not applicable for the arguments (Object)

This may mean that something isn’t right in my java stuff, but I can’t imagine why that would make a difference with this. And you’re right, the second one doesn’t work - it throws a jspException saying “No Collection Found” for the Iterator.

As this may be of use, I’m attaching a bit more code. cfZipCodes is an array of strings in the SellerBean. In the java file, the bean is added by the line


     request.setAttribute("seller", seller);

where seller is a SellerBean.


<html:select name="addSellerForm" property="cfZipCodes" multiple="true" size="7">
	<logic:iterate name="seller" property="cfZipCodes" id="zipIter">
	        <bean:define id="tmp" name="zipIter" toScope="request"/>
	        <!-- This is the offending line of code -->
	        <html:option value="<%=tmp%>"><bean:write name="zipIter"/></html:option>
	</logic:iterate>
</html:select>

Again, thanks for any help you can give.