RE: Checkbox Arrays - Internationalising them?!

2001-05-11 Thread dhay



Hal,

thanks for your input on multi-box - they are working great!

BUT...I need to get the bean:write internationalized - does anyone know if this
is possible?

ie I want to do a bean:message on the output from a bean:write...

I think this qu has been asked before, but I looked through the archives and
couldn't find it...

Thanks,

Dave





Deadman, Hal [EMAIL PROTECTED] on 05/10/2001
12:20:58 PM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:(bcc: David Hay/Lex/Lexmark)
Subject:  RE: Checkbox Arrays



I posted this same response to your Posting Collections question yesterday.
Here it is again. If you use the html:multibox, you can get back an array of
key values instead of an array of booleans. They key values can be Longs,
Strings, whatever, as long as it uniquely identifies the row that you want
to know was checked. If you haven't used multibox, it generates an html
checkbox. The array that will be set in your form will only contain the key
values for the rows that were checked.

Here is the post from yesterday:

I think I am doing the same thing that you want to do using the
html:multibox. When the form is submitted you get an array of the ids that
are checked and then you can go delete them.

in the jsp form (where restaurant id is a key for the item being deleted):
logic:iterate id=restaurant name=favoriterestaurants
...
 html:multibox property=favoriteRestaurantRemoveList
  bean:write property=restaurantId name=restaurant/
 /html:multibox
...
/logic:iterate


in the form class:
private Long favoriteRestaurantRemoveList[] = new Long[0];

public Long[] getFavoriteRestaurantRemoveList() {
return (this.favoriteRestaurantRemoveList);
}

public void setFavoriteRestaurantRemoveList(Long
favoriteRestaurantRemoveList[]) {
this.favoriteRestaurantRemoveList = favoriteRestaurantRemoveList;
}

I am not sure if initializing the array to new Long[0] is necessary,
probably not.

 -Original Message-
 From: Tony Karas [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, May 10, 2001 11:52 AM
 To: Struts User
 Subject: Checkbox Arrays


 Can anyone help with this?

 I have an array of checkboxes in my ActionForm represented by

 boolean[] delete;

 and I have a setter function

 public void setDelete( boolean[] values )
 {
delete = values;
 }

 The problem is that I have only checkboxes that are checked
 get sent back -
 so if one checkbox is checked all I get is an array of length
 1.  Therefore,
 it is not possible for me to determine which checkbox has
 been checked.

 In the documentation it tells me to use reset() in ActionForm
 to initialise
 the values - but this will only work with single checkboxes
 and not arrays.

 I think I'm stuck.  Is there anyway I can determine which
 checkbox has been
 checked - maybe I can get the value to differ for each
 checkbox.  Will look
 in to that.

 Cheers
 Tony










RE: Checkbox Arrays - Internationalising them?!

2001-05-11 Thread Deadman, Hal

Do you want bean:message to be able to get the key from a bean method? It
doesn't do that now...

Since bean:write is printing the value of a bean property, your bean
property could use the MessageResources class to do the internationalization
in your bean method.

Inside an action you can get the MessageResource object and the Locale
object by calling these methods from the base Action class:

Locale locale = getLocale(request);
MessageResources messages = getResources();
messages.getMessage(locale,some.key,args));

where args is an optional String array.

I am not sure how easy it would be for you to pass the messages and locale
objects into your bean and use them there.

Hal


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Friday, May 11, 2001 2:37 PM
 To: [EMAIL PROTECTED]
 Subject: RE: Checkbox Arrays - Internationalising them?!




 Hal,

 thanks for your input on multi-box - they are working great!

 BUT...I need to get the bean:write internationalized - does
 anyone know if this
 is possible?

 ie I want to do a bean:message on the output from a bean:write...

 I think this qu has been asked before, but I looked through
 the archives and
 couldn't find it...

 Thanks,

 Dave





 Deadman, Hal [EMAIL PROTECTED]
 on 05/10/2001
 12:20:58 PM

 Please respond to [EMAIL PROTECTED]

 To:   [EMAIL PROTECTED]
 cc:(bcc: David Hay/Lex/Lexmark)
 Subject:  RE: Checkbox Arrays



 I posted this same response to your Posting Collections
 question yesterday.
 Here it is again. If you use the html:multibox, you can get
 back an array of
 key values instead of an array of booleans. They key values
 can be Longs,
 Strings, whatever, as long as it uniquely identifies the row
 that you want
 to know was checked. If you haven't used multibox, it
 generates an html
 checkbox. The array that will be set in your form will only
 contain the key
 values for the rows that were checked.

 Here is the post from yesterday:

 I think I am doing the same thing that you want to do using the
 html:multibox. When the form is submitted you get an array of
 the ids that
 are checked and then you can go delete them.

 in the jsp form (where restaurant id is a key for the item
 being deleted):
 logic:iterate id=restaurant name=favoriterestaurants
 ...
  html:multibox property=favoriteRestaurantRemoveList
   bean:write property=restaurantId name=restaurant/
  /html:multibox
 ...
 /logic:iterate


 in the form class:
 private Long favoriteRestaurantRemoveList[] = new Long[0];

 public Long[] getFavoriteRestaurantRemoveList() {
 return (this.favoriteRestaurantRemoveList);
 }

 public void setFavoriteRestaurantRemoveList(Long
 favoriteRestaurantRemoveList[]) {
 this.favoriteRestaurantRemoveList =
 favoriteRestaurantRemoveList;
 }

 I am not sure if initializing the array to new Long[0] is necessary,
 probably not.

  -Original Message-
  From: Tony Karas [mailto:[EMAIL PROTECTED]]
  Sent: Thursday, May 10, 2001 11:52 AM
  To: Struts User
  Subject: Checkbox Arrays
 
 
  Can anyone help with this?
 
  I have an array of checkboxes in my ActionForm represented by
 
  boolean[] delete;
 
  and I have a setter function
 
  public void setDelete( boolean[] values )
  {
 delete = values;
  }
 
  The problem is that I have only checkboxes that are checked
  get sent back -
  so if one checkbox is checked all I get is an array of length
  1.  Therefore,
  it is not possible for me to determine which checkbox has
  been checked.
 
  In the documentation it tells me to use reset() in ActionForm
  to initialise
  the values - but this will only work with single checkboxes
  and not arrays.
 
  I think I'm stuck.  Is there anyway I can determine which
  checkbox has been
  checked - maybe I can get the value to differ for each
  checkbox.  Will look
  in to that.
 
  Cheers
  Tony