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]
>
>

Reply via email to