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]