I think encapsulating this kind of behavior in a custom tag is why
custom tags exist--and since the iteration is handled by the
checkboxlist tag internally, using an iterator/etc. doesn't really
work.

Dave

On Saturday, October 9, 2010, Maurizio Cucchiara
<maurizio.cucchi...@gmail.com> wrote:
> Do you need to insert a breaking string every 3 items?
> I think this approach is too much expansive in term of time.
> Furthermore, after that, you should deal with subcassing process.
> You should have valid reasons for do that.
> Why don't you simply use mod operator?:
>
> <s:iterator status="stat" value="{1,2,3,4,5}" >
>    <s:if test="(#stat.index % 3)==0">
>       insert breaking string
>    </s:if>
>    .....
> </s:iterator>
>
>
> Maurizio Cucchiara
>
>
> 2010/10/9 Burton Rhodes <burtonrho...@gmail.com>:
>> I am trying to override a struts tag template (specifically
>> <s:checkboxlist>), and I can't figure out how to add a parameter to
>> the tag.  I have successfully overridden the template by copying
>> "checkboxlist.tld" to my template/simple directory and all works well.
>>  Now I would like to add a parameter.  It appears that I need to
>> override the the META-INF/struts-tags.tld file because I keep getting
>> the error below.  However, using the same method as checkboxlist.tld,
>> I copy a modified version of struts-tags.tld to my
>> META-INF/struts-tags.tld directory.  However, I still get the same
>> error below.  Not sure if I need to modify another file or if
>> struts-tags.tld cannot be "overridden".  Anyone given this a try?
>> Trying not to have to create a new custom tag since all I want is a
>> simple modification to checkboxlist.tld.
>>
>> ------------ERROR--------------------
>> /contact/contactCreate.jsp(286,6) PWC6131: Attribute breakCount
>> invalid for tag checkboxlist according to TLD
>>
>> Caused by:
>> org.apache.jasper.JasperException: /contact/contactCreate.jsp(286,6)
>> PWC6131: Attribute breakCount invalid for tag checkboxlist according
>> to TLD
>> -------------------------------------------
>>
>> Tag with added parameter (breakCount):
>>
>> <s:checkboxlist
>>        name="ownerIds"
>>        list="%{activeAppUserList}"
>>        listKey="appUserId"
>>        listValue="nameInformal"
>>        required="true"
>>        breakCount="3"           <!-- New Parameter, will enter the
>> breakString after every 3 items -->
>>        breakString="<br/>"
>> />
>>
>> Excerpt from modified "struts-tags.tld":
>>  ....
>>  <tag>
>>    <description><![CDATA[Render a list of checkboxes]]></description>
>>    <name>checkboxlist</name>
>>    <tag-class>org.apache.struts2.views.jsp.ui.CheckboxListTag</tag-class>
>>    <body-content>JSP</body-content>
>>    <attribute>
>>      <description><![CDATA[Set the html accesskey attribute on
>> rendered html element]]></description>
>>      <name>accesskey</name>
>>      <required>false</required>
>>      <rtexprvalue>false</rtexprvalue>
>>    </attribute>
>>    <attribute>
>>      <description><![CDATA[Number of elements to display before
>> inserting 'break' element.]]></description>
>>      <name>breakCount</name>
>>      <required>false</required>
>>      <rtexprvalue>false</rtexprvalue>
>>    </attribute>
>>    <attribute>
>>      <description><![CDATA[Used to override the default 'break'
>> string. Default is <br>.]]></description>
>>      <name>breakString</name>
>>      <required>false</required>
>>      <rtexprvalue>false</rtexprvalue>
>>    </attribute>
>>   ....
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>> For additional commands, e-mail: user-h...@struts.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to