Avatar billede cogitans Nybegynder
24. februar 2003 - 12:44 Der er 11 kommentarer og
1 løsning

Overførsel af parametre i JSP

Hvordan får jeg videresendt nogle parametre fra en jsp-side tul en anden jsp-side?
Den første jsp-side skal åbne en anden jsp-side vha. et link. Den anden jsp-side skal bruge en integer fra den første jsp-side, men hvordan kan denne sendes med?
Avatar billede arne_v Ekspert
24. februar 2003 - 12:56 #1
Du laver linket med:
  <a href="nummer2.jsp?nr=n">xxx</a>

Og bruger:
  int n = request.getParameter("n");
i nummer2.jsp !
Avatar billede miknil Nybegynder
24. februar 2003 - 13:09 #2
fx.

<%
  int nr = 1;
%>

<a href="nummer2.jsp?nr=<%=nr%>"> nummer 2 </a>
Avatar billede cogitans Nybegynder
24. februar 2003 - 13:10 #3
Okay - det prøver jeg lige af. Jeg var ellers ved at undersøge noget med Forwarding Request...men det er måske ikke så aktuelt aligevel så?
Avatar billede europe Nybegynder
24. februar 2003 - 13:11 #4
request.getParameter("n");
returnere en String og ikke en int...
Avatar billede arne_v Ekspert
24. februar 2003 - 13:15 #5
he he.

Det er rigtigt.

int n = Integer.parseInt(request.getParameter("n"));

Sorry.
Avatar billede miknil Nybegynder
24. februar 2003 - 13:15 #6
på side numme2.jsp

Du skal altid tage højde for manglende parametre, specielt ved get requests,
her defaulter nr til -1 hvis parameteren mangler, eller ikke er en int.


<%
  int get_nr = -1;
  try
  {
    get_nr = Integer.parseInt(request.getParameter("nr"));
  }
  catch(Exception ignoreMe)
  {   
  }
%>

%>
Avatar billede miknil Nybegynder
24. februar 2003 - 13:16 #7
Der kom s'føli et %> for meget med, script blokken skal kun lukkes en gang :-)

miknil
Avatar billede cogitans Nybegynder
24. februar 2003 - 13:20 #8
:-)
Jeg tror, at det er de rigtige løsninger, vi er inde på nu...jeg er bare forvirret pt.
Hvad skal der helt nøjagtigt stå i jsp-side 1, og hvad skal der helt nøjagtigt stå i jsp-side2 for at overføre integers?
Avatar billede miknil Nybegynder
24. februar 2003 - 13:23 #9
For at følge  arne_v's eksempel

nummer1.jsp
<%
  int nr = 1;
%>
<body>
<a href="nummer2.jsp?nr=<%=nr%>"> nummer 2 </a>
</body>

nummer2.jsp

<%
  int get_nr = -1;
  try
  {
    get_nr = Integer.parseInt(request.getParameter("nr"));
  }
  catch(Exception ignoreMe)
  {   
  }
%>


Vil overføre variablen nr fra nummer1.jsp til
variablen get_nr i side nummer2.jsp

miknil
Avatar billede europe Nybegynder
24. februar 2003 - 13:25 #10
side 1
<%
  int nr = 1;
%>

<a href="nummer2.jsp?nr=<%=nr%>"> nummer 2 </a>



side 2
<%
  int get_nr = -1;
  try
  {
    get_nr = Integer.parseInt(request.getParameter("nr"));
  }
  catch(Exception ignoreMe)
  {   
  }
%>
<%=get_nr%>

%>
Avatar billede arne_v Ekspert
24. februar 2003 - 13:30 #11
nummer1.jsp:

hvis du skal have en konstant f.eks. 77 med over er det bare
  ...
  <a href="nummer2.jsp?nr=77">xxxxxx</a>
  ...

hvis du skal have en variabel f.eks. nr med over er det:
  ...
  <a href="nummer2.jsp?nr=<%=nr%>">xxxxxx</a>
  ...

i nummer2.jsp kan du så bruge:

<%
...
int n = Integer.parseInt(request.getParameter("nr"));
...
%>

eller hvis du vil lave noget robust kode:

<%
...
int n;
try {
  n = Integer.parseInt(request.getParameter("nr"));
} catch (NumberFormatException e) {
  n = 0;
}
...
%>
Avatar billede arne_v Ekspert
19. marts 2003 - 20:15 #12
Tid for at lukke spørgsmålet ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester