Hi all, Continued working on this problem and have it resolved in the following Velocity macro.
I'm surprised it didn't already exist being a very common requirement (maybe it does but I just haven't found it !!) ------------------- #* * HTML velocimacro * @author Robin Mannering *# ## Checkbox control. 'Remembers' checkbox choices made by user on previous form submission. ## $name The control name ## $selectedValues A list of currently checked values ## $labels The list of labels for the options ## $values The list of values for the options #macro (checkboxGroup $name $selectedValues $labels $values) ## Use a zero-based counter. #set ( $index = 0 ) #foreach( $value in $values ) #set ( $rendered = false ) #foreach( $selectedValue in $selectedValues ) #if ( $value == $selectedValue ) <input type="checkbox" name="$name" value="$value" checked>$!labels.get($index)</input><br/> #set ( $rendered = true ) #end #end #if ( $rendered == false ) ## the current checkbox still hasn't been rendered it, so it must be rendered (unchecked) <input type="checkbox" name="$name" value="$value">$!labels.get($index)</input><br/> #end #set ( $index = $index + 1 ) #end #end ---------------------- It can be used with the following example #set ( $interestLabels = ["snowboarding", "skiing", "mountain biking"] ) #set ( $interestValues = ["snowboarding", "skiing", "mountain biking"] ) #set ( $selected = $!newsletterForm.interestsDisplay ) #checkboxGroup ( "interestsDisplay" $selected $interestLabels $interestValues ) NB. $selected is a String[] in associated Struts form. -----Original Message----- From: Robin Mannering [mailto:[EMAIL PROTECTED] Sent: 23 March 2005 11:34 To: Velocity Users List Subject: Struts and Velocity Forms Hi all, Another newbie question here. I'm working with a StrutsForm that holds checkbox selections in a String[] as I normally do when working with struts. In the form, I'm having difficulty pre-selecting checkbox options that the user set on a previous request, so far I have.... #set ( $index = 0 ) #set ( $interestOptions = ["snowboarding", "skiing", "mountain biking"] ) #foreach( $interest in $interestOptions ) <input type="checkbox" name="interestsDisplay" value="$interest" #if (fillInTheBlanks) selected #end>$interest</input> #set ( $index = $index + 1 ) #end Can somebody please tell be how I 'fillInTheBlanks'? Or point me to a resource on the web that would help me, I can't find a think on the velocity site. Many thanks Robin ==================================================================== This e-mail and any attachments may be confidential and/or legally privileged. If you have received this e-mail and you are not a named addressee, please inform Landmark Information Group on 01491 413030 and then delete the e-mail from your system. If you are not a named addressee you must not use, disclose, distribute, copy, print or rely on this e-mail. This email and any attachments have been scanned for viruses and to the best of our knowledge are clean. To ensure regulatory compliance and for the protection of our clients and business, we may monitor and read e-mails sent to and from our servers. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ==================================================================== This e-mail and any attachments may be confidential and/or legally privileged. If you have received this e-mail and you are not a named addressee, please inform Landmark Information Group on 01491 413030 and then delete the e-mail from your system. If you are not a named addressee you must not use, disclose, distribute, copy, print or rely on this e-mail. This email and any attachments have been scanned for viruses and to the best of our knowledge are clean. To ensure regulatory compliance and for the protection of our clients and business, we may monitor and read e-mails sent to and from our servers. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]