i come up with easy solution. thanks for help:
 
.properties
attendees.names=All attendees include: {0}
 
webpage
// example list, but do not know size of list at all times
List<String> attendees = new ArrayList<String>();
attendees.add("Attendee 1");
attendees.add("Attendee 2");
attendees.add("Attendee 3");
add(new Label("attendee-names", new StringResourceModel("attendees.names", 
this, null, new Object[]{ Arrays.toString(attendees.toArray()) })));
 
output:
All attendees include: [Attendee 1, Attendee 2, Attendee 3]

> Date: Fri, 18 Apr 2008 09:22:12 -0700
> From: [EMAIL PROTECTED]
> To: users@wicket.apache.org
> Subject: Re: StringResourceModel with unknown array parameters
> 
> On Fri, Apr 18, 2008 at 8:49 AM, Enrique Rodriguez <[EMAIL PROTECTED]> wrote:
> > ...
> > Cool, I just had to do something similar yesterday.  I ended up ...
> 
> I coded this up for your example:
> 
> MyApp.properties
> ================
> 
> label.attendees=All attendees include:  ${attendees}
> 
> Usage
> =====
> 
>         List<String> attendees = new ArrayList<String>();
>         attendees.add( "Johan" );
>         attendees.add( "James" );
>         add( new AttendeeLabel( "attendees", "label.attendees", this,
> attendees ) );
> 
> Code
> ====
> 
> public class AttendeeLabel extends Label
> {
>     public AttendeeLabel( String id, String resourceKey, Component
> component, List<String> attendees )
>     {
>         super( id, new StringResourceModel( resourceKey, component,
> new Model( new Attendees( attendees ) ) ) );
>     }
> 
>     private static class Attendees implements Serializable
>     {
>         private List<String> attendees;
> 
> 
>         public Attendees( List<String> attendees )
>         {
>             this.attendees = attendees;
>         }
> 
> 
>         public String getAttendees()
>         {
>             StringBuffer sb = new StringBuffer();
> 
>             for ( Iterator<String> iterator = attendees.iterator();
> iterator.hasNext(); )
>             {
>                 String attendee = iterator.next();
> 
>                 sb.append( attendee );
> 
>                 if ( iterator.hasNext() )
>                 {
>                     sb.append( " " );
>                 }
>             }
> 
>             return sb.toString();
>         }
>     }
> }
> 
> 
> HTH,
> 
> Enrique
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

Reply via email to