Avatar billede gorlist Nybegynder
20. november 2003 - 10:30 Der er 15 kommentarer og
1 løsning

sende variable i servlet

Jeg har fået tildelt et projekt uden den store Java viden og har lavet (ud fra et eksempel) en servlet hvor jeg out.println()'er alt html og JavaScript. Jeg har fået fortalt at den korrekte måde er at benytte .jsp sammen med servlets, men på nuværende tidspunkt er der ikke tid til at lære det. Mit spørgsmål:

Hvordan sender jeg variable (f.eks. i en hidden form) fra en servlet til en anden servlet, eller fra en servlet til sig selv?

Eksempel påkræves.
Avatar billede arne_v Ekspert
20. november 2003 - 10:40 #1
første servlet:

response.sendRedirect("andenservlet?nam=val");

anden servlet:

String val = request.getParameter("nam");
Avatar billede arne_v Ekspert
20. november 2003 - 10:43 #2
Eller første servlet:

request.getsession().setAttribute("nam", "val");

anden servlet:

String val = (String)request.getSession().getAttribute("nam");
Avatar billede arne_v Ekspert
20. november 2003 - 10:43 #3
Hvilken du vælger afhænger lidt af hvad der passer bedst til
din problem-stilling.
Avatar billede gorlist Nybegynder
20. november 2003 - 10:43 #4
Gælder det også hvis den kalder sig selv?
Avatar billede arne_v Ekspert
20. november 2003 - 10:51 #5
Ja.
Avatar billede gorlist Nybegynder
20. november 2003 - 10:51 #6
Jeg får en fejl: request cannot be resolved.

Jeg har følgende imports i toppen:
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.text.*;
Avatar billede arne_v Ekspert
20. november 2003 - 10:53 #7
Men jeg kan ike helt se pointen i at kalde sig selv.
Avatar billede fsconsult.dk Nybegynder
20. november 2003 - 10:53 #8
"request" er defineret i kaldet til din servlet, og hedder muligvis noget andet..
Avatar billede arne_v Ekspert
20. november 2003 - 10:55 #9
Din metode i servletten har to argumenter af typen HttpServletRequest
og HttpServletResponse.

Den første hedder typisk request (for at være JSP kompatibel), men
req er også set elle randet.

Men det er den jeg mener.
Avatar billede gorlist Nybegynder
20. november 2003 - 11:08 #10
Grundet til at den skal kalde sig selv med parametre er, at output er en salgsopstilling over en periode hvor brugeren selv har mulighed for at ændre perioden vha. en dropdown. Derfor har jeg brug for at sende en periodevariabel med til sig selv.

Igen må jeg pointere at jeg er grøn i Java - hvordan skal jeg erklære HttpServletRequest og HttpServletResponse?
Avatar billede arne_v Ekspert
20. november 2003 - 11:14 #11
Din servlet har vel en eller flere metoder som:

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Avatar billede gorlist Nybegynder
20. november 2003 - 11:18 #12
Nej, det har de ikke. Kan jeg blot bruge dem du har vist der?
Avatar billede arne_v Ekspert
20. november 2003 - 11:44 #13
Det er de metoder i en servlet der bliver kaldt ved henholdsvis GET
og POST.
Avatar billede gorlist Nybegynder
20. november 2003 - 11:47 #14
Har du mulighed for at skære det ud i pap med et eksempel?
Avatar billede arne_v Ekspert
20. november 2003 - 11:54 #15
Avatar billede gorlist Nybegynder
20. november 2003 - 12:17 #16
Jeg kigger på det - tak endnu engang for hjælpen.
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