05. oktober 2001 - 15:57Der er
19 kommentarer og 1 løsning
session
Jeg har en side a som indeholder en: session.setAttribute(\"tal\", new Integer(1));
og side b indeholdende: session.setAttribute(\"tal\", new Integer(2));
På side c vil jeg lave en if-sætning:
<% if (Integer.parseInt(session.getAttribute(\"tal\")=1))
{%> <%@ include file=\"sideA.jsp\"%> <%}%>
<%if (Integer.parseInt(session.getAttribute(\"tal\")=2)) {%> <%@ include file=\"sideB.jsp\"%> <%}%> Der kommer en fejlmeddelse frem som siger: Invalid left hand side of assignment. if (Integer.parseInt(session.getAttribute(\"tal\")=1))
session.getAttribute returnerer et objekt, så hvis det er en Integer du har i attributen skal du type-caste den til det: Integer myint = (Integer)session.getAttribute(\"tal\")
ellers hvis det er et String objekt kan du caste den til en String først int k = Integer.parseInt((String)session.getAttribute(\"tal\"))
Hvis det der imod er en parameter f.eks. fra en form eller ligende så skal du have fat i
int i = Integer.parseInt(request.getParameter(\"tal\"));
Jeg har lige prøvet med: <% int Id = (Integer)session.getAttribute(\"tal\"); if (Id==2)
{%> <%@ include file=\"soegdeltager.jsp\"%> <%}%> samt afløst int Id med Integer Id Men det virker stadig ikke!!! Fejlen er: Incompatible type for declaration. Can\'t convert java.lang.Integer to int. int Id = (Integer)session.getAttribute(\"tal\"); ^ 1 error
Jeg har på side a: session.setAttribute(\"tal\", new Integer(1));
og side b: session.setAttribute(\"tal\", new Integer(2));
Og jeg har prøvet med Integer id Fejlen er i denne: <% Integer Id = (Integer)session.getAttribute(\"tal\"); if (Id==2)
{%> <%@ include file=\"soegdeltager.jsp\"%> <%}%> fejl: Incompatible type for java.lang.Integer. Can\'t convert java.lang.Integer to int. if (Id==2) ^ 1 error
nå ja undskyld, compareTo returnerer en int der angiver om det er større minde eller lig, så hvis du kigger i Api\'en kan du se at den returnerer 0 hvis tallene er lige store dvs. if(Id.compareTo(new Integer(2))==0){ .. }
Nu er det således at jeg har to ifsætninger: <% Integer Id = (Integer)session.getAttribute(\"tal\"); if(Id.compareTo(new Integer(1))==0)
{%> <%@ include file=\"sidea.jsp\"%> <%}
else if(Id.compareTo(new Integer(2))==0) {%> <%--@ include file=\"sideb.jsp\"%> <%}%> Der gå den hel amok med fejl: 1. \'catch\' without \'try\'. } catch (java.lang.Throwable _jsp_e) { ^ 2. : \'}\' expected. } ^ 3. \'try\' without \'catch\' or \'finally\'. 4. Statement expected.
Okay. Men jeg har fået det løst!! Iøvrigt ved du hvordan man bedst muligt kan løse problemet med at refresh/reloade side efter at man har fortaget en ændring i f.eks databasen? Jeg har lavet detsådan at efter man har submittet(f.eks slette en person fra en liste), og så kommer der en side som laver behandlingen, hvorefter jeg kan resultatet af listen igen(det har jeg gjort ved at hente alle parameter fra forige side).Men denne måde at kode på er forfærdeligt. Er der ikke en smartere måde? Jeg mener at man kan lave det med popup vinduer!!
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.