That worked for me: <% String str="form.action='action.do?command=notify&rowId="; %> onclick="<%= str%><c:out value='${list.rowId}'/>'" />
And in Action: String rowId = request.getParameter("rowId"); Thank you all, Oleg. On 8/13/07, Frank W. Zammetti <[EMAIL PROTECTED]> wrote: > > Oleg Konovalov wrote: > >> make each button on the form a submit button > > I can't do it, because button has to have image, so I use <input > > type=image...> > > Will that work ? > > I believe so... best way to be sure would be to try it :) ... but I > don't see why it wouldn't. > > > Also, are you sure this this.form.rowId.value='${list.rowId}'; > > will work together with my form.action='action.do?command=notify' > > I think, Javascript will get screwed up - will complain. > > And I will have to make all inside a scriplet, something like: > > onClick="<% form.rowId.value=<*c:out* *value=*'${list.rowId}/>; > > form.action='action.do?command=notify' %>" > > Is that better ? > > No, that would be wrong... go ahead and give it a try, you'll get a > compile error on the JSP because the expression isn't valid. You may > however be right to a degree... you may need to use <c:out> in place of > ${list.rowId} (I think ${list.rowId} is valid JSP 2.0 EL, but that > assumes JSP 2.0)... I think that's a valid JSP expression... again, give > it a try, this is a syntactical issue that a minute or two of playing > will resolve, it's the conceptual part you need to understand first. > > Frank > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > AIM/Yahoo: fzammetti > MSN: [EMAIL PROTECTED] > Author of "Practical Ajax Projects With Java Technology" > (2006, Apress, ISBN 1-59059-695-1) > and "JavaScript, DOM Scripting and Ajax Projects" > (2007, Apress, ISBN 1-59059-816-4) > Java Web Parts - http://javawebparts.sourceforge.net > Supplying the wheel, so you don't have to reinvent it! > > > > > > > On 8/13/07, Frank W. Zammetti <[EMAIL PROTECTED]> wrote: > >> Oleg Konovalov wrote: > >>> No, I am not using any AJAX. > >>> > >>> On Submit it supposed to process that row, go to DB and refresh the > >> whole > >>> page, > >>> so to come back on the same page. > >>> > >>> Also, my form is declared as <html:form>, so onClick I use > >>> "form.action='action.do?command=notify'", I can't get rid of it, > >>> but it doesn't want to coexist with any Javascript. > >>> > >>> I would not like to have multiple forms on one JSP page. > >>> > >>> So which of your suggestions would you recommend in my case ? > >>> And how do I get a value of rowId in Action class (notify action), > >>> via request.getSession().getAttribute("rowId") ? > >> You wouldn't get it from SESSION, you'd get it from REQUEST... Unless > >> your intention is to have a session-scoped ActionForm, but then you > >> wouldn't get at the value as you've shown anyway (in fact, even if it's > >> a request-scoped from, that's the wrong way to get the value, since > your > >> bypassing Struts to do it). > >> > >> Since you aren't using AJAX, and you want a single form, all you need > to > >> do is set things up in a 100% typical Struts fashion... have the HTML > >> form submit to the Action you want it to, and connect an ActionForm, > >> probably request-scoped, to that Action. Make sure your ActionForm > >> includes the properly named getter/setter/field for it. Then, on your > >> HTML form, add a hidden field with the name rowId, and make each button > >> on the form a submit button (you can have more than one), and add an > >> onClick event to it that does this: > >> > >> this.form.rowId.value='${list.rowId}'; > >> > >> That should do it. Then, in your Action you just do: > >> > >> String rowId = form.getRowId(); > >> > >> ...assuming form is the name of the ActionForm parameter. That should > >> be all you need to do. > >> > >> Frank > >> > >> -- > >> Frank W. Zammetti > >> Founder and Chief Software Architect > >> Omnytex Technologies > >> http://www.omnytex.com > >> AIM/Yahoo: fzammetti > >> MSN: [EMAIL PROTECTED] > >> Author of "Practical Ajax Projects With Java Technology" > >> (2006, Apress, ISBN 1-59059-695-1) > >> and "JavaScript, DOM Scripting and Ajax Projects" > >> (2007, Apress, ISBN 1-59059-816-4) > >> Java Web Parts - http://javawebparts.sourceforge.net > >> Supplying the wheel, so you don't have to reinvent it! > >> > >>> Thank you, > >>> Oleg. > >>> > >>> > >>> > >>> On 8/12/07, Frank W. Zammetti <[EMAIL PROTECTED]> wrote: > >>>> Oleg Konovalov wrote: > >>>>> I have a bunch of rows [ArrayList of ValueObject Classes], and a > >> button > >>>>> corresponding to each row. > >>>>> I populate the data from each row in forEach loop. > >>>>> User is supposed to click on one of these buttons [selecting one row > >> to > >>>>> process], > >>>>> and onClick event I need to pass the rowId of the to the new Action > >>>>> ["notify"] in Action class. > >>>>> Sounds like a trivial task ? > >>>>> I am just not sure how to implement that correctly in Struts, pretty > >> new > >>>> to > >>>>> Struts. > >>>> Depends on what you expect to happen when they click the button... is > >>>> the entire page refreshed, or are you thinking of doing some AJAX > here? > >>>> If the entire page is going to refresh, I'd simply make each row its > >>>> own form and have the button be a regular submit button. Add a > hidden > >>>> field to each form that has the rowId as its value. Simple, > standard, > >>>> will work just fine. Alternatively, if you don't like multiple > forms, > >>>> then have a single hidden form field which again is the row Id, then > >>>> onClick of the button do: > >>>> > >>>> this.form.rowId.value='${list.rowId}';this.form.submit(); > >>>> > >>>> If your thinking AJAX here, then there's all sorts of ways you could > do > >>>> it. > >>>> > >>>>> Maybe I should use > >>>>> <html:submit src=pic.gif onclick=" > >> form.action='action.do?command=notify'" > >>>> * > >>>>> value*="${list.rowId}"> > >>>>> instead of HTML <input type=image...> ? > >>>> Yes, in theory that could work, but I think it's a bit too > complicated. > >>>> Again, if your not thinking AJAX here, just do a plain form > >>>> submission, it's the best answer. If you DO want to do AJAX, let us > >>>> know and we can suggest ways to go about it. > >>>> > >>>> Dave's suggestions are good too, it just comes down to how you really > >>>> want this to work. > >>>> > >>>>> TIA, > >>>>> Oleg. > >>>> Frank > >>>> > >>>> -- > >>>> Frank W. Zammetti > >>>> Founder and Chief Software Architect > >>>> Omnytex Technologies > >>>> http://www.omnytex.com > >>>> AIM/Yahoo: fzammetti > >>>> MSN: [EMAIL PROTECTED] > >>>> Author of "Practical Ajax Projects With Java Technology" > >>>> (2006, Apress, ISBN 1-59059-695-1) > >>>> and "JavaScript, DOM Scripting and Ajax Projects" > >>>> (2007, Apress, ISBN 1-59059-816-4) > >>>> Java Web Parts - http://javawebparts.sourceforge.net > >>>> Supplying the wheel, so you don't have to reinvent it! > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>> > >>> > ------------------------------------------------------------------------ > >>> > >>> No virus found in this incoming message. > >>> Checked by AVG Free Edition. > >>> Version: 7.5.476 / Virus Database: 269.11.15/949 - Release Date: > >> 8/12/2007 11:03 AM > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > ------------------------------------------------------------------------ > > > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.476 / Virus Database: 269.11.15/949 - Release Date: > 8/12/2007 11:03 AM > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >