hi: i have a question. in a multibox,the property attribute should be pointed to an array in the form bean,and this array will be checked to see if there exists such a element who's value equals to the value set in the multibox. my question is how to set the value of multibox which will be used to find a match with in the array especially when the multibox's value dose not equal to the label displayed on the check box in IE.
2006/4/1, Max Cooper <[EMAIL PROTECTED]>: > > 2 things come to mind: > > 1) Make sure your ActionForm has the appropriate setter method. It wont > be setDenyCodes(String value) since there can be many values. IIRC, you > need a setter that takes a String array as an argument. I could be wrong > -- do some research to be sure. > > 2) Make sure the URL of the submit (when using GET) doesn't get so long > that IE chops the end off. Check all the boxes (so the URL will be at > its longest) to test. I think this happens around 4000 characters or so. > Using a POST avoids this limitation in a reliable manner. > > -Max > > Tarun Reddy wrote: > > Hi Vijay, > > It's working fine now. I've just added a method="GET" attribute to > > <html:form> tag. It's working perfectly fine. I don't have any idea how > this > > solved the problem. Thanks for all your time. > > > > Thanks, > > Tarun. > > > > On 3/31/06, Tarun Reddy <[EMAIL PROTECTED]> wrote: > > > >>Thanks Vijay! I've verified the value returned by > >>request.getParameterValues("denyCodes") even before sending out this > mail. > >>I don't have any clue on how to proceed further. I'll try debugging it > more. > >> > >>Thanks, > >>Tarun. > >> > >> > >>On 3/31/06, vijay venkataraman <[EMAIL PROTECTED]> wrote: > >> > >>>Tarun, > >>>If the value in being rendered is in string array pointed by the > >>>property it will be rendered with checked attribute set. I know it > >>>works. > >>>It is bit weired that the set method is not being called i am not able > >>>to find what is happening. Do you see the values coming fine in the > >>>HttpRequest? > >>>If you debug and view your HttpRequest - If you have *selected* some > >>>checkboxes then you should see a parameter by name denyCodes and to > that > >>> > >>>there will be a array containing the selected values in the array. > Sorry > >>>i am stuck with something deep and cannot probe any further now. > Pulling > >>>the bean util source code along with Struts source code and seeing what > >>>happens will give you a clear idea. > >>> > >>>Vijay Venkataraman > >>> > >>>Tarun Reddy wrote: > >>> > >>> > >>>>Hi Vijay, > >>>>Thanks for the reply! I had a look at the HTML source generated by JSP > >>> > >>>page > >>> > >>>>which contains multibox tag. Here are some sample entries, > >>>> > >>>><form name="denyForm" method="post" action="/testingtool/deny.do"> > >>>> <table> > >>>> <tr align="center"> <input type="submit" > >>> > >>>value="Submit"></tr> > >>> > >>>> <tr> <input type="checkbox" name="denyCodes" > >>>>value="216">216</tr> > >>>> <tr> <input type="checkbox" name="denyCodes" > >>>>value="415">415</tr> > >>>> <tr> <input type="checkbox" name="denyCodes" > >>> > >>>value="05">05</tr> > >>> > >>>>Let me tell you, <bean:write> tag nested in the <html:multibox> tag > >>> > >>>takes > >>> > >>>>care of setting this value attirbute to the same as label. The HTML > >>> > >>>source > >>> > >>>>also proved that this problem is not related to setting value > >>> > >>>attribute. > >>> > >>>>Second point is, yeah there's a slight confusion in the use of > multibox > >>> > >>>tag. > >>> > >>>>In the specs they say that you can make ur checkboxes checked based on > >>> > >>>the > >>> > >>>>values present in, string array in the ActionForm. But can you tell me > >>>>whether we can make selections among multiple checkboxes and then send > >>> > >>>the > >>> > >>>>values of the checked checkboxes to the Action class? I'm surprised to > >>> > >>>see > >>> > >>>>that the setter method was never called while submitting the form to > >>> > >>>the > >>> > >>>>action class. Please suggest me. > >>>> > >>>> > >>>>On 3/31/06, vijay venkataraman <[EMAIL PROTECTED]> wrote: > >>>> > >>>> > >>>> > >>>>>The struts doc goes like this : > >>>>> > >>>>>*Multibox:* > >>>>>** > >>>>> > >>>>>Renders an HTML <input> element of type |checkbox|, whose "checked" > >>>>>status is initialized based on whether the specified value matches > one > >>>>>of the elements of the underlying property's array of current values. > >>>>>This element is useful when you have large numbers of checkboxes, and > >>>>>prefer to combine the values into a single array-valued property > >>> > >>>instead > >>> > >>>>>of multiple boolean properties. This tag is only valid when nested > >>>>>inside a form tag body. > >>>>> > >>>>>*WARNING*: In order to correctly recognize cases where none of the > >>>>>associated checkboxes are selected, the |ActionForm| bean associated > >>>>>with this form must include a statement setting the corresponding > >>> > >>>*array > >>> > >>>>>to zero length in the |reset()| method. > >>>>>* > >>>>> > >>>>>See the rendered html and make sure that check boxes are rendered > with > >>>>>the correct name. > >>>>>I don't see you setting any value to the value attribute of multibox. > >>>>>It is the value you set that is posted back. > >>>>> > >>>>>I don't know much about bean and iteration tag. > >>>>> > >>>>>Regards, > >>>>>Vijay Venkataraman > >>>>> > >>>>> > >>>>>Tarun Reddy wrote: > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>>Hi All, > >>>>>>I've been wasting my time on one issue pertaining to <html:multibox> > >>> > >>>tag. > >>> > >>>>>>I'm writing a code which should generate multiple checkboxes > >>> > >>>dynamically > >>> > >>>>>> > >>>>>on > >>>>> > >>>>> > >>>>> > >>>>>>a JSP page. The JSP should send the checked checkboxes value to the > >>>>>> > >>>>>> > >>>>> > >>>>>Action > >>>>> > >>>>> > >>>>> > >>>>>>class. But it's not sending any values. I've tried many approaches > >>> > >>>like > >>> > >>>>>>1)initialized all the elements in the String[] to "" in the reset() > >>>>>> > >>>>>> > >>>>> > >>>>>method > >>>>> > >>>>> > >>>>> > >>>>>>2)tried retrieving the checked values using String[] codes= > >>>>>>request.getParameterValues("denyCodes"); > >>>>>>None of the above methods worked for me. I'm using Weblogic 8.1 and > >>>>>> > >>>>>> > >>>>> > >>>>>Struts > >>>>> > >>>>> > >>>>> > >>>>>>1.2.8. I've tried with Struts 1.1 too. Here's my code. > >>>>>>------------------- > >>>>>>public class DenyForm extends ActionForm { > >>>>>> private String[] denyCodes= new String[80]; > >>>>>> public String[] getDenyCodes(){ > >>>>>> return denyCodes; > >>>>>> } > >>>>>> public void setDenyCodes(String[] denycodes){ > >>>>>> this.denyCodes = denycodes; > >>>>>> } > >>>>>> public void reset(ActionMapping mapping, HttpServletRequest > >>> > >>>request) > >>> > >>>>>> > >>>>>{ > >>>>> > >>>>> > >>>>> > >>>>>> for(int i=0;i<80;i++){ > >>>>>> denyCodes[i] = ""; > >>>>>> } > >>>>>> } > >>>>>>} > >>>>>>------------------------denycodes.jsp page is like this, > >>>>>><html:form action="deny"> > >>>>>> <table> > >>>>>> <tr align="center"> <html:submit /></tr> > >>>>>> <logic:iterate name="denialCodes" id="code"> > >>>>>> <tr> > >>>>>> <html:multibox property="denyCodes" > > >>>>>> <bean:write name="code" /> > >>>>>> </html:multibox><bean:write name="code"/> > >>>>>> </tr> > >>>>>> </logic:iterate> > >>>>>> </table><br> > >>>>>></html:form> > >>>>>>---------------------------------------Action Class is > >>>>>>public class DenyAction extends Action { > >>>>>> public ActionForward execute(ActionMapping mapping, ActionForm > >>> > >>>form, > >>> > >>>>>> HttpServletRequest request, HttpServletResponse response) > >>>>>> > >>>>>> > >>>>> > >>>>>throws > >>>>> > >>>>> > >>>>> > >>>>>>Exception{ > >>>>>> > >>>>>> HttpSession session = request.getSession(); > >>>>>> DenyForm denyForm = (DenyForm)form; > >>>>>> String[] codes = denyForm.getDenyCodes(); > >>>>>>// String[] codes = request.getParameterValues > >>> > >>>("denyCodes"); > >>> > >>>>>> log.debug("codes array length is:"+codes.length); > >>>>>> session.setAttribute("denyCodes",codes); > >>>>>> return mapping.findForward("success"); > >>>>>> } > >>>>>>} > >>>>>>-------------------------------------------------- > struts-config.xmlentry > >>>>>> > >>>>>> > >>>>> > >>>>>is > >>>>> > >>>>> > >>>>> > >>>>>>like this > >>>>>> > >>>>>> <form-bean name="denyForm" type="tars.form.DenyForm " /> > >>>>>> > >>>>>> <action path="/deny" type="tars.action.DenyAction" > >>>>>> > >>>>>> > >>>>> > >>>>>name="denyForm"> > >>>>> > >>>>> > >>>>>> <forward name="success" path="/query.jsp" /> > >>>>>> </action> > >>>>>>------------------------------------------------------------------ > >>>>>> > >>>>>>codes.length is always returning 0 as the length. I've added some > >>> > >>>debug > >>> > >>>>>>statements in the ActionForm's set method to see whether it's being > >>>>>> > >>>>>> > >>>>> > >>>>>called > >>>>> > >>>>> > >>>>> > >>>>>>or not. To my surprise it was never called. That's what baffling me. > >>> > >>>This > >>> > >>>>>> > >>>>>is > >>>>> > >>>>> > >>>>> > >>>>>>really urgent. I would really appreciate if someone could help me > >>> > >>>out. > >>> > >>>>>>Thanks, > >>>>>>Tarun. > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > > >>>>>------------------------------DISCLAIMER------------------------------ > >>>>>This message is for the named person's use only. It may contain > >>>>>confidential, proprietary or legally privileged information. No > >>>>>confidentiality or privilege is waived or lost by any > mistransmission. > >>>>> > >>>>>If you receive this message in error, please immediately delete it > and > >>> > >>>>>all copies of it from your system, destroy any hard copies of it and > >>>>>notify the sender. You must not, directly or indirectly, use, > >>> > >>>disclose, > >>> > >>>>>distribute, print, or copy any part of this message if you are not > the > >>> > >>>>>intended recipient. > >>>>> > >>>>>Lisle Technology Partners Pvt. Ltd. and any of its subsidiaries each > >>>>>reserve the right to monitor all e-mail communications through its > >>>>>networks. > >>>>> > >>>>>Any views expressed in this message are those of the > >>>>>individual sender, except where the message states otherwise and the > >>>>>sender is authorized to state them to be the views of any such > entity. > >>> > >>>>>--------------------------------------------------------------------- > >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > >>>------------------------------DISCLAIMER------------------------------ > >>>This message is for the named person's use only. It may contain > >>>confidential, proprietary or legally privileged information. No > >>>confidentiality or privilege is waived or lost by any mistransmission. > >>> > >>>If you receive this message in error, please immediately delete it and > >>>all copies of it from your system, destroy any hard copies of it and > >>>notify the sender. You must not, directly or indirectly, use, disclose, > >>>distribute, print, or copy any part of this message if you are not the > >>>intended recipient. > >>> > >>>Lisle Technology Partners Pvt. Ltd. and any of its subsidiaries each > >>>reserve the right to monitor all e-mail communications through its > >>>networks. > >>> > >>>Any views expressed in this message are those of the > >>>individual sender, except where the message states otherwise and the > >>>sender is authorized to state them to be the views of any such entity. > >>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >