01. oktober 2001 - 13:32Der er
42 kommentarer og 1 løsning
parameter-overførelse
Jeg har på en jsp-side har hentet noget fra databasen og resultatet skal jeg bruge til at lave en ny forespørgelse. Det jeg har lavet indtil videre ser sådan her ud: <% String projektNavn = request.getParameter(\"projektnavn\");//noget man har indtastet i forige side deltager.connect(); // connect til databasen hvor funktionen wievProjekt ligger. ResultSet result = deltager.viewProjekt(projektNavn);//jeg får projektid tilbage ved at skrive <%= rs.getString(\"PROJEKTID\") %>
%>
Jeg vil hente projektid fra tabellen projekt(med projektnavn som jeg har fået oplyst), og det vil bruge til at indsætte nogle parameter ind i deltagertabellen. Deltagertabellen har projektnr som fremmed nøgle til projektid(projekttabellen). Jeg havde forestillet mig at man kunne skrive: <% String projektNavn = request.getParameter(\"projektnavn\"); deltager.connect(); String projektnr = deltager.viewProjekt(projektNavn); deltager.disconnect(); %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Nå ja det kan jeg osse godt. Fejlmeddelsen er: com.caucho.jsp.JspParseException: /ericsson/projekt/tilfoejdeltager/adddeltager.jsp:20: Incompatible type for declaration. Can\'t convert java.sql.ResultSet to java.lang.String. String projektnr = deltager.viewProjekt(projektNavn); ^ /ericsson/projekt/tilfoejdeltager/adddeltager.jsp:29: Incompatible type for declaration. Can\'t convert java.lang.String[] to java.lang.String. String kys = request.getParameterValues(\"pkey\"); ^ /ericsson/projekt/tilfoejdeltager/adddeltager.jsp:37: Incompatible type for method. Can\'t convert java.lang.String to int. deltager.addDeltager(projektnr,kys,dstart,dslut); ^ 3 errors
Jeg har i min .java viewProjekt skrevet: public ResultSet viewProjekt(String projektNavn) ResultSet projektnr = null; String queryString = (\"SELECT projektid FROM projekt where PROJEKTNAVN =\'\" + projektNavn + \"\'\");
Jeg ved at jeg i .jsp skulle have kaldt : <% String projektNavn = request.getParameter(\"projektnavn\"); deltager.connect(); --> String projektnr = deltager.viewProjekt(projektNavn); deltager.disconnect(); %> for ResultSet rs= deltager.viewProjekt(projektNavn);. Men så ved jeg ikke hvordan jeg skal komme videre.
Øjeblik jeg prøver lige engang. Forresten Jeg spurgte dig sidst om resin understøtter EJB. Og der svarede du rigtigt. Spørgsmålet idag lyder: Den Recin-CMP fil man skal download. Skal den pakkes ud oven på den nuværende resinserver?
Så vidt jeg kan se indeholder Resin-CMP, resin 2.0 + det extra du skal bruge, altså smed den oven i den gamle installation, men red lige config filerne først
Kanon, Disky. Har du nogle forslag til hvordan jeg skal hente forskellige parameter fra forskellige sider. Kunne jeg bruge sessions? Det er fordi jeg har en side hvor man kan oprette et projekt. Der skriver man oplysninger om det projekt der skal oprettes. Man kan i opretProjekt også tilknytte projektdeltager til. Vil man gøre det skal man jo søge efter dem. Man udfylder nogle søgekriterier og får et resultat tilbage. Dette resultat det man ønskede kan personen blive tilknyttet projektet. For at gøre det skal man have deltagerens ID samt den oprettede projekts ID.
Det er klart at hvis du ønsker flere points skal du have det!!
Det jeg tænkte med sessions var, at man kunne bruge de parameter, man fik fra databasen, sammen med dem man har indtast til at indsætte deltagerne i projektdeltagertabellen. Hvad synes du?
dvs: <jsp:useBean id=\"deltager\" scope=\'projektsession\' class=\"com.projekt.tilfoejdeltager.Deltager\"/> ? Jeg bliver ved med spørge dig lidt endnu, okay! Du siger bare til, når du har fået nok, okay(Lov mig det!)
Efter at have lavet søgningen på bruger får jeg et resultat tilbage: <td> <input type=\"checkbox\" name=\"pkey\" value=\"<%= rs.getString(\"LOENID\") %>\" /> </td> <td><%= rs.getString(\"FORNAVN\") %></td> <td><%= rs.getString(\"EFTERNAVN\") %></td> <td><%= rs.getString(\"INITIALER\") %></td> <td><input type=\"text\" name=\"deltagerstart\" maxlength=\"10\" size=\"8\"> åååå-mm-dd</td> <td><input type=\"text\" name=\"deltagerslut\" maxlength=\"10\" size=\"8\"> åååå-mm-dd</td> <% } %>
</table><br />
<input type=\"submit\" value=\"Tilføj til projektet\">
Det jeg vil er at man skal klikke på checkboxen for at tilføje brugeren som deltager i projektet. Så er det sådan at jeg skal bruge \"LOENID\", på den næste side til at indsætte brugeren i projektdeltagertabellen! Så den næste side (som osse er den du har hjulpet mig med) skriver jeg således: <% String projektNavn = request.getParameter(\"projektnavn\"); deltager.connect(); ResultSet rs= deltager.viewProjekt(projektNavn);
okay, Kan man så skrive noget i retningen af session.setAttribute( <%= rs.getString(\"PROJEKTID\") %>\", pid ); Eller er det kun ved String projektNavn = request.getParameter( \"projektnavn\" ); session.setAttribute( \"projektNavn\", Projektnavn );
Jeg fortsætter lidt endnu uden brug at sessions. Der kommer en fejlmeddelse frem som siger: java.sql.SQLException: Before start of result set
Det må være \"<% String projektNavn = request.getParameter(\"projektnavn\"); --> deltager.connect(); ResultSet rs= deltager.viewProjekt(projektNavn); String projektnr=rs.getString(\"PROJEKTID\");
Så kommer der et nyt fejl frem: com.caucho.jsp.JspParseException: /ericsson/projekt/tilfoejdeltager/adddeltager.jsp:42: Undefined variable: projektnr deltager.addDeltager(projektnr,kys,dstart,dslut); ^ 1 error
Jeg har fundet ud at det! Det er mærkelligt men det virker, nu skal du se: ResultSet rs= deltager.viewProjekt(projektNavn); if (rs.next()) { %> <% } deltager.disconnect(); %> <% String projektnr= rs.getString(\"PROJEKTID\"); Af en mærkelig årsag kunne det forrige kode: ResultSet rs= deltager.viewProjekt(projektNavn); if(rs.next()) { String projektnr=rs.getString(\"PROJEKTID\"); }
ikke virke, da den springer if-sætningen over og dermed ikke kender \"projektnr\". Men det andet virker(af en mærkelig årsag!!Men heldigvis). Ved du om man kan dele en side horisontalt? Man kan jo lave <%@include file=\"XXX.jsp\"%>. Men den bilver delt vertikalt!
Disky! Jeg har en sessions som er en int. når jeg konventere den til en string, er det ikke sådan her: String ettal= Integer.parseInt(session.getAttribute(\"tal\")); Eller : String ettal = session.getAttribute(\"tal\").toString();
Tak, det virker!;) Ikke noget nyt i det*S* Jeg har været begravet med andre ting idag, så jeg har ikke haft tid!! Med den metode du ligge har vist, kan det ikke bruges til at sætte to session.getAttribute sammen? Jeg har to sider som bruger session.setAttribut(som er det samme) og den tredje side skal gøre brug af sessionen. men de to sessioner har forskellige navne fordi de køre uafhængig af hinanden, hvad gør jeg så? Forstod du spørgsmålet? Altså i mit program kan man både oprette projekter og rediger projekter. Jeg har lavet det sådan at man kan se hvem der er tilknyttet projekterne efter man har oprettet dem. Derfor har jeg brugt en session til at huske projektID og den vil blive kaldt når jeg skal hente info. om projektet. Desuden kan man når man vil rediger projektet ændre projektets informationer, her har jeg også brugt sessions til at huske projektid. Problemet opstår når jeg vil lave en søgning så man kan tilføje ny personer til projektet. Her skal jeg hente projektid med session. Som er problemet.
Jo men problemet er at personen kan komme forskellige steder fra og hvis de skal gøre brug af funktionen skal sessionen hentes!! Jeg tror at jeg har fundet ud af det. Som du sagde kan man vel lave en session.setAttribute med samme værdier på begge sider! Og derefter kalde session på den tredje side. For man kommer kommer ikke ind i de to side. Altså enten side 1+3 eller side 2+3.!!
Disky! Jeg har nogle \"<%@ include file=%>\" på nogle sider. Jeg vil have at den skal vise side1.jsp hvis den kommer fra en vej, og vise side2.jsp den anden vej. Kan jeg lave en if-else sætning? Hvordan skal jeg sætte sessions på side1 og side2? Jeg havde tænkt mig at man kunne sige: if (session.getAttribute(\"tal\")=1) <%@ include file=side1.jsp%> else <%@ include file=side2.jsp%>
Jeg har fundet ud ad det!! Det du henviste til men ikke kunne huske hed noget med \"historie\", men det kunne jeg ikke bruge! Så jeg valgte session, Er der noget kan gøre for dig? Siden du har hjulpet mig så meget!!! Er din hotmailadresse rigtig? Så kunne jeg sende dig en filmliste over de divX film jeg har!!
Hvordan skal jeg skrive if sætningen? <% if (Integer.parseInt(session.getAttribute(\"tal\")=1) {%> <%@ include file=\"soegdeltager.jsp\"%> <%}%> Der kommer en fejlmeddelse ud som siger: jsp:84: \')\' expected. if (Integer.parseInt(session.getAttribute(\"tal\")=1)
Klart!! Jeg har haft lidt problemer med icq derfor har jeg lige afinstalleret den. Du får en request i aften så. Jeg har ikke icq om i hverdagen fordi pga. firmapolitik!!´
if (Integer.parseInt(session.getAttribute(\"tal\")==1))
For at se om 2 tal er ens skal du bruge == og ikke =
Et enkelt = er en tildeling ikke en test.
Så mail mig lige på hotmail.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.