Jason,
Yes, I am using sitemap actions which execute Java code.
I do have some experience with JSP & servlets
(but much more of Applets, that's why I thought of LiveConnect).
So let me tell what I understood from your advice:
- since the name="inclusions" for all my checkboxes
(but each has a different "value"), I should declare
String [] inclusions = request.getParameterValues("inclusions");
- replace that JS function getCheckedValues(inclusions,true)
with the one in Java;
- use it to create flags to be passed to the Stored Procedure
for creating dynamic query.
Did I get it right ?
Thank you,
Oleg.
--- Jason Johnston <[EMAIL PROTECTED]> wrote:
> What are you using on the server-side to process the request
> and build the
> SQL? Sitemap actions? I'm assuming it's not Flowscript or
> JavaFlow since
> you're using such an old version of Cocoon.
>
> I don't think the JavaScript you describe is going to be of
> much use to
> you; IIUC the JS you're talking about is client-side (as
> opposed to
> server-side JS which later versions of Cocoon use for handling
> flow).
> Since it's client-side it therefore cannot execute code on the
> server
> directly. (LiveConnect would only allow your JS to talk to a
> client-side
> Java applet embedded in your page, not the Java code on the
> server.)
>
> What you need to do instead is in your server-side Java code
> that handles
> the request, get the request parameters sent by the HTML
> checkboxes; this
> is the request.getParameterValues("exclusions") you asked
> about, and
> "exclusions" should match the name="" attribute of the
> checkboxes. The
> Java array returned by that method consists of the values of
> the
> checkboxes that were checked by the user.
>
> Am I on the right track at all here? Let me know if I'm not
> understanding
> your situation; it feels a bit odd explaining basic concepts
> like request
> parameters (these concepts are not unique to Cocoon by the
> way, and are
> usually already prerequisite knowledge for people working with
> web apps)
> so I'm sorry if I'm just misunderstanding you and telling you
> stuff you
> already know.
>
> --Jason
>
>
> >>it builds [in Javascript] an array of checkboxes checked
> >>called valueArray, which is not used now).
> > Correction: actually, it seems that there is an attempt
> > in the existing code to pass Javascript array to Java:
> >
>
onsubmit="if(this.inclusions)excludes.value=getCheckedValues(inclusions,true);return
> > true;"
> >
> > Interestingly, "inclusions" is a name of all checkboxes in
> XSL
> > page. But on Java side it doesn't use "inclusions",
> "excludes"
> > or "valueArray", but uses:
> > String [] exclusions =
> request.getParameterValues("exclusions");
> > - I don't see where request parameter "exclusions" is coming
> > from;
> > - later instead of that array exclusions[] they pass NULL to
> the
> > method which is supposed to create SQL based on that.
> >
> > I checked a few Javascript books, and it looks like one has
> to
> > use LiveConnect technology to use JavaScript variables in
> Java,
> > that requires "import netscape.javascript.*" package.
> > There are no such imports in the code.
> >
> > Are there other ways to use JavaScript vars in Java ?
> >
> > What does "(this.inclusions)" means in
> >
>
"if(this.inclusions)excludes.value=getCheckedValues(inclusions,true);return
> > true;" ?
> > Is that a sort of casting ? Passing array from JS to Java ?
> >
> > Is that a legitimate way to pass variables JS->Java ?
> >
> > Please advise.
> >
> > Thank you in advance,
> > Oleg.
> >
> >
> > --- Oleg Konovalov <[EMAIL PROTECTED]> wrote:
> >
> >> Hi,
> >>
> >> I am trying to enhance somebody's Cocoon 2.0.4 application
> >> (tons of XSL and XML, Java and a bit of Javascript).
> >>
> >> On my page there is a bunch of checkboxes (defined in XSL),
> >> and based on which of them user selects,
> >> it supposed to dynamically build SQL stament
> >> (in Stored Procedure with flags as parameters),
> >> called from Java.
> >>
> >> There is a little bit of manipulation on these checkboxes
> >> currently done in JavaScript (e.g. it builds an array
> >> of checkboxes checked called valueArray, which is not used
> >> now).
> >> I think, I can use that JavaScript array,
> >> but not sure how to access it from Java. How ?
> >> something with LiveConnect (have no experience with that),
> >> any sample ?
> >>
> >> Would that be a normal thing to do in Cocoon application
> >> or is there a better and easier way (since XSL will
> generate
> >> Java bytecode) ?
> >>
> >> Sorry for the newbie question.
> >>
> >>
> >> Thank you in advance,
> >> Oleg.
> >>
> >>
> >>
>
>
>
---------------------------------------------------------------------
> 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]