>>>>> "Shengmeng" == Shengmeng Liu <[EMAIL PROTECTED]> writes:
Shengmeng> Hi, Shengmeng> I agree with you that the property attribute for form element is "overloaded" to Shengmeng> have two meanings. It determines both: Shengmeng> 1)which getter method will be invoked on the form bean to obtain its initial value; Shengmeng> 2)which setter method will be invoked on the form bean (or the name of the request Shengmeng> parameter will be used for this element) to store its current value. Shengmeng> Well, I aslo feel that handling situations where multiple checkboxes share the same Shengmeng> name is quite confusing and complex in Struts, as the form-bean property refers to Shengmeng> a SINGLE data row, but the request parameter can have an ARRAY of values. Shengmeng> It seems to me that one straightforward workaround for this is to avoid multiple Shengmeng> checkboxes sharing the same name, by using different names for all those fields. Shengmeng> Such as: Shengmeng> group_check1="on"&group_check2="on" Shengmeng> where value can only be "on" and parameter name now indicates its real value. And how do you vary the property names when you're populating the components from a bean collection in an "iterate" loop? It seems like "html:multibox" would be applicable here, but I can't see from the documentation exactly how it is used. The situation seems to be the same with "html:radio". Ideally, when I have a set of radio buttons, and I'm using "logic:iterate" to iterate over them, I would want the "name" of the component to reflect the "choice name" I'm making, and the value should be the "choice value", which is NOT "on", "off", "true", or "false". I would need an attribute of my bean to indicate whether the radio button is initially on or not. One point of confusion is that the documentation for "html:checkbox" mentions that "property" needs to be a boolean, but the doc for "html:radio" doesn't mention this. I would assume it also needs to be a boolean, but I'm not certain. When this form is submitted, I would want the request parameter to be the same as my "choice name", and the value to be my "choice value". For instance, if I have a page to allow a user to select a "drink size" of "small", "medium", or "large", I would use a collection of "SizeChoice" beans, each of which has fields like this: String sizeId; String sizeDisplay; boolean enabled; So, I would want the button to be ON if "enabled" is true, but I want the submitted request parameter name to be "drinkSize" and a value of "medium" (or "small" or "large"). However, it appears that I can't do anything like this with "html:radio". By specifying the "property" value of "enabled", that sets the name of the request parameter to "enabled". The resulting value will need to be a boolean string, like "on" or "true". If I have more than one radio button in the group, then they'll all have the same name. I would assume I'm trying to use this in the wrong way. I would appreciate some guidance and examples on the proper way to use this component. I can't seem to find good examples using radio buttons or checkboxes. -- =================================================================== David M. Karr ; Best Consulting [EMAIL PROTECTED] ; Java/Unix/XML/C++/X ; BrainBench CJ12P (#12004) -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>