du har problemer med dine else if krølle paranteser <% if (brugernavn.equals("anders")) { %> body {background: url("Butik/style/bauer.jpg") #444444 repeat fixed;} <% } else if (brugernavn.equals("ida")) { %> body {background: url("Butik/style/a-03-03.gif") #444444 repeat fixed;} <% } else if (brugernavn.equals("mark")) { %> body {background: url("Butik/style/167.gif") #444444 repeat fixed;} <% } else if (brugernavn.equals("rufus")) { %> body {background: url("Butik/style/168(1).gif") #444444 repeat fixed;} <% } else if (brugernavn.equals("sisse")) { %> body {background: url("Butik/style/2503.gif") #444444 repeat fixed;} <% } %> sådan
if (Brugernavn == null) { %> <h1>Undskyld</h1> Du er ikke logget ind i Web Wheels System.<p> <a href="LogInHTML.html">Vær sød at Log In</a> <% return; }
oki doki. men du har Brugernavn bruger og brugernavn
hvis det ikke løste problemet med at lave de rigtige {} og dine else-if sætninger, tror jeg problemet er at brugernavn slet ikke er erklæret, og du istedet mener Brugernavn.equals("ida") eller bruger.equals("ida") bare et forslag.
how vent lidt. du har dine else if sætninger før CheckLoggedIn.jsp bliver included. prøv istedet at lave det her (i samme fil) <% // hent attributter fra sessionen String Brugernavn = (String) session.getAttribute("Brugernavn"); String bruger = (String) session.getAttribute("bruger"); if (Brugernavn == null) { %> <jsp:forward page="LogInHTML.jsp"/> <% } if (Brugernavn.equals("anders")) { %>
og så videre der ned af.
jeg har lavet et par antagelser her, men jeg tror det er det du vil. Jeg kan ikke huske om forward også virker på en ren HTML fil, men der er ingenting der forhindrer dig i at lave den om til en jsp fil
<% // hent attributter fra sessionen String Brugernavn = (String) session.getAttribute("Brugernavn"); String bruger = (String) session.getAttribute("bruger"); if (Brugernavn == null) { %> <jsp:forward page="LogInHTML.jsp"/> <% } if (Brugernavn.equals("anders")) { %>
Det fik min jsp-side til at kompilere uden fejl!! Men jeg vil gerne have at, hver gang f.eks. anders logger ind skal han kunne se en ny billed-fil, og at det skal være afhængig af pris på det, der er på billedet----hvordan gør jeg det???
jeg er ikke sikker på jeg har forstået spørgsmålet. Det kan sagtens lade sig gøre, men jeg vil være helt sikker før jeg begynder at kode i den store stil. du kan jo godt lave en int der tæller en op hver gang f.eks Anders logger ind og så henter en URL fra et array.
Det bedste ville selvfølgelig være at have en database at slå op i. men... <%! int anderscount = 0; int idacount = 0; ....osv.... String[] anderspics = {"gif/forstebillede.gif","gif/andetbillede.gif"}; ....osv.... %>
og længere nede <% } if (Brugernavn.equals("anders")) { anderscount++; if (anderscount>=anderspics.length) anderscount=0; %> body {background: url("<%= anderspics[anderscount] %>") #444444 repeat fixed;} <% } else if (Brugernavn.equals("ida")) { idacount++; if (idacount>=idapics.length) idapics=0; %> body {background: url("<%= idapics[idacount] %>") #444444 repeat fixed;}
og så videre. du må selv slås videre med det. eksperten er ikke et sted man aor færdig kode, men et sted men får løsningsforslag til konkrete problemer.
du kan sagtens have billed-filer liggende som binær data i en database. men du kunne jo evt, have filnavnene liggende i en database, det ville gøre det noget nemmere at opdatere, når der skal ligges nye billeder ind. En JSP side bliver nemlig 'nul-stillet' hvergang den opdateres og køres påny, og det skal man jo helst undgå her, hvor vi gerne vil have en løbende tæller. Kan du se hvor jeg vil hen? Eller er jeg helt galt på den.
nej du er ikke galt på den, det er det helt rigtige du er inde på!!! Men jeg er ikke sikker på, at jeg er helt med på hvor du vil hen, kan du give et prøve-eksempel? Jeg er enig med dig i at man selv skal programmere sine opgaver, men derfor kan man da godt få lidt hjælp!??!
well. ligefrem et konkret eksempel.... ok. hvis du nu includer en jsp fil som denne lige efter du har ekstraheret brugernavnet <%@ page import="java.sql.*" %> <%! anderscount = 0; idacount = 0; ..... osv ...... String getPicture(String un,int number) { try { Class.forName(""); // indsæt din klasse Connection con = DriverManager.getConnection("","","");// indsæt din URL, handle og password ResultSet rs = con.createStatement().executeQuery("SELECT pic FROM pictures WHERE user='"+un+"';"); i = 0; while (rs.next() && i != number) { i++; } String out = rs.getString("pic"); rs.close(); con.close(); return out; } catch (Exception e) { return "";} } %> <% if (Brugernavn.equals("anders")) { anderscount++; String picture = getPicture(Brugernavn,anderscount); } else if (Brugernavn.equals("ida")) { idacount++; String picture = getPicture(Brugernavn,idacount); } else .... osv ....
og til sidst noget ligende: if (!picture.equals("")) session.setAttribute( "picture", picture); %>
og så nøjes med en enkelt linje eller to i den anden fil if(session.getAttribute("picture")) { %> background: url("<%= (String) session.getAttribute("picture") %>"); } else { %> background: url("default.gif"); <% } %> jeg har selvsagt ikke prøvekørt det, men håber du har fået et par ideer.
<h1>Indkøbskurv System</h1> <p> Du er lige nu logget in som <%= Brugernavn%>. <p> Vær sød at vælg et link: <ul> <li><a href='SoegEfterVarerJSP.jsp'> Vis varer tilhørende <%= Brugernavn %></a> <li><a href='AddNewVarer.jsp'> Tilføj varer til kurv </a> <li><a href='EnterSpeditionOplys.jsp'</a> <li><a href='Order.html'> Udskriv regning</a>
</ul>
</body> </html>
her den du sagde jeg kunne lave og så inkludere i den anden men jeg får en hel masse fejl når jeg prøver at kompilere denne her?????HJÆLP
usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [136:1] illegal start of type } catch (Exception ex) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [143:1] <identifier> expected } ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [145:1] 'class' or 'interface' expected } ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [146:1] 'class' or 'interface' expected ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [23:1] cannot resolve symbol symbol : variable application location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 IConnectionPool pool = (IConnectionPool) application.getAttribute("connectionPool"); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [26:1] cannot resolve symbol symbol : variable conn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 conn = pool.getConnection(); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [27:1] cannot resolve symbol symbol : variable conn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 ResultSet rs = conn.createStatement().executeQuery("SELECT 167.gif FROM pic WHERE user='"+un+"';"); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [28:1] cannot resolve symbol symbol : variable i location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 i = 0; ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [29:1] cannot resolve symbol symbol : variable i location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 while (rs.next() && i != number) { i++; } ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [29:1] cannot resolve symbol symbol : variable i location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 while (rs.next() && i != number) { i++; } ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [31:1] cannot resolve symbol symbol : variable conn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 rs.close(); conn.close(); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [86:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 if (Brugernavn.equals("anders")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [88:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,anderscount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [89:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 } else if (Brugernavn.equals("ida")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [91:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,idacount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [92:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 } else if (Brugernavn.equals("mark")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [94:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,markcount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [95:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 } else if (Brugernavn.equals("rufus")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [97:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,rufuscount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [98:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 } else if (Brugernavn.equals("sisse")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [100:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,sissecount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [101:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 } else if (Brugernavn.equals("steen")) { ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [103:1] cannot resolve symbol symbol : variable Brugernavn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 String picture = getPicture(Brugernavn,steencount); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [104:1] cannot resolve symbol symbol : variable picture location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 }if (!picture.equals("")) ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [105:1] cannot resolve symbol symbol : variable picture location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 session.setAttribute( "167.gif", picture); ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [118:1] cannot resolve symbol symbol : variable conn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 if (conn != null) ^ usingjsp/Butik/_0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0.java [120:1] cannot resolve symbol symbol : variable conn location: class usingjsp.Butik._0002fusingjsp_0002fButik_0002fBilledJSP_0002ejspBilledJSP_jsp_0 pool.releaseConnection(conn); ^ 27 errors Errors compiling BilledJSP.
okay nu er der kun 27 fejl før var der 51??????? if(session.getAttribute("picture")) { %> background: url("<%= (String) session.getAttribute("picture") %>");
hej jeg vil bare lige sige at du må rode videre med det selv herfra. jeg har ikke tid nok til rådighed til at kunne hjælpe dig ordentligt. du har rigtigt nok fundet en fejl. if(session.getAttribute("picture")!=null) vær opmærksom på at du har en import, så du kan bruge din connection pool, jeg er ikke klar over hvor den klasse er i hierakiet. lad være med at kalde dine ting noget med punktum i. I java opfattes punktum som en pointer, og du kan let lave fejl. brug evt underscore (163_pic). når jeg siger select pic mener jeg select pic. Du laver et resultset med alle billeder og bladrer frem til det første nye. du skal huske at fortælle hvilken type en variabel er. dine compile errors (talte en 10 stykke) der handler om i er fordi du skal skrive int i = 0;
Jeg er klar over at disse fejl er en del af noget jeg har skrevet, men jeg synes til gengæld også at jeg har gjort det klart at det var en skitse til en løsning og ikke en copy/paste løsning. Jeg er virkelig ked af det. Hvis du efter et par dages kodning har et mere specifikt spørgsmål og ikke halvanden side kompilerdump så skrev bare. Måske skulle jeg bare give op og kode en færdig løsning til dig..... Jeg er i syv sind her. Jeg vil virkelig gerne hjælpe dig.
okay nu har jeg et konkret spørgsmål hvad er betyder/er picture når det står i if(session.getAttribute("picture")!=null) er det de filer jeg har liggende i min database eller hva'??????
det gør jeg så, men på falderebet kan jeg lige skitse min tanke op. >---Database---< to columns: user og pic, ordnet således -user- -pic- "anders" "gravko.gif" "anders" "bilmesse.gif" "anders" "fozziebear.jpg" og så videre med SELECT pic WHERE user='anders' får vi altså et ResultSet med RS["pic"::"gravko.gif","pic"::"bilmesse.gif","pic"::fozziebear.gif"]
Vi har også en tæller, det har talt hvor mange gange anders har oprettet en ny session, int anderscount. vi bladrer derfor igennem vores resultset indtil vi når sidste billede eller anderscount. hvis anderscount==1, får vi altså "bilmesse.gif" hvilket er et spritnyt billede som anders kan få at kigge på.
Når vi har fundet billedet (d.v.s filnavnet på billedet) ligger vi det ind i sessionen session.setAttribute("picture");
Hvis et eller andet skulle fejle og denne attribut ikke er sat kan vi få problemer, så vi sikrer os at den ikke er null, før vi sætter baggrundsbilledet til det pågældende filnavn.
det skulle jeg også have gjort til at starte med, men jeg ville forsøge at give et konkret eksempel (på opfordring) istedet for. Det jeg ikke havde koden til rådighed var jeg nød til at 'lynkode' med dertil hørende bugs og gætte mig til hvordan dine filer var forbundet. set i bagklogskabens lys her det nok skabt flere problemer en løsninger.
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.