Avatar billede nzc Nybegynder
16. februar 2003 - 01:06 Der er 34 kommentarer og
1 løsning

jeg ka i ASP men hvordan i JSP

Hej!

Jeg er JSP n00b!! Jeg vil lige høre om der findes noget ala

mode = request("mode")

som findes i ASP hvor mode kommer fra querystring

Det skal bruges på en login-side hvor der skal være 2 "modes"

Håber i ka hjælpe :)

NZC
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 01:14 #1
Sring mode = getParameter("mode");
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 01:14 #2
ups:
Sring mode = request.getParameter("mode");
Avatar billede nzc Nybegynder
16. februar 2003 - 01:39 #3
er denne

request.getParameter("mode");

general for at hente data fra en side ? feks fra et tekstfelt i en form ?
Avatar billede medions Nybegynder
16. februar 2003 - 02:12 #4
nzc> Den henter både fra GET og POST methoden...

//>Rune
Avatar billede medions Nybegynder
16. februar 2003 - 02:17 #5
Erik> Jeg tror du er træt i aften ;o) (String staves ikek Sring *s*)

String mode = request.getParameter("mode");

nzc> Du kan fx. gøre sådan her:

<form action="modtag.jsp" method="post">
  <input type="text" name="navn">
</form>

og i modtag.jsp skriver du så:

<html>
<body>
<%
  String mode = request.getParameter("mode");
%>

Hej <%= mode %> velkommen til min hjemmeside!

</body>
</html>

//>Rune
Avatar billede nzc Nybegynder
16. februar 2003 - 09:21 #6
asso dvs at request.getParameter("xx") kan hente fra en form og fra QueryString?

Men er det ikke lidt underligt at der ikke er 2 forskellige metoder til at hente fra 2 forskellige ting? eller er JSP bare sårn at getParameter bare kan hente fra alt ?!

NZC
Avatar billede medions Nybegynder
16. februar 2003 - 10:46 #7
Ja :-)

Well, request.getParameter() henter bare alt hvad der bliver sendt med GET og POST metoderne, mere simpelt kan det vidst ik' beskrives... :-)

//>Rune
Avatar billede arne_v Ekspert
16. februar 2003 - 11:01 #8
Jeg vil da også mene at det er dt mest rigtige set ud fra
en encapsulation synsvinkel.

Hvorfor skal et stykke kode være forskellig alt efter om
der er brugt POST eller GET til at transportere data
frem til serveren.

Det kan nogen gange være meget praktisk at kunne kalde
samme JSP side både fra en form og fra et normalt link
(med medions eksempel <A HREF="modtager.jsp?mode=xxxx">xxxx</A>).

Endvidere kan man jo også bruge METHOD="GET" i FORM.
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 11:07 #9
Og nogle gange kan det være utroligt smart at kunne skelne ...
Avatar billede arne_v Ekspert
16. februar 2003 - 11:16 #10
Ja, men så bruger man jo bare request.getMethod() !
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 11:24 #11
Jeg mener: smart at skelne om et navn kommer fra GET
(?-parametre) eller POST :)
Avatar billede nzc Nybegynder
16. februar 2003 - 11:48 #12
ok så kommer n00ben lige på banen igen :)

dvs for at jeg kan hente mode ud fra et link som dette

side.jsp?mode=hat

bruger jeg request.getParameter("mode")

og hvis jeg vil hente noget ud fra en form (enten POST eller GET) så er det også

request.getParameter("etellerandet")

?
Avatar billede nzc Nybegynder
16. februar 2003 - 11:53 #13
hmmm skal jeg importere noget for at bruge request ?
Avatar billede arne_v Ekspert
16. februar 2003 - 11:56 #14
nzc>

Ja.

Nej - request er der altid.
Avatar billede arne_v Ekspert
16. februar 2003 - 11:57 #15
erik>

Ja. Hvis getMethod() returnerer "POST" så er det fra en POST,
hvis den returnerer "GET" så er det en GET. Det kan ikke være
både en GET og en POST samtidigt.
Avatar billede nzc Nybegynder
16. februar 2003 - 11:57 #16
hmm

jeg får denne error:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
    [javac] Compiling 1 source file

D:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\test\testen_jsp.java:11: cannot resolve symbol
symbol  : variable request
location: class org.apache.jsp.testen_jsp
String mode = request.getParameter("mode");
              ^
1 error
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 11:59 #17
Jo, det er jo netop det - det kan både være en POST og en GET

  <form method="post" action="xxx.jsp?test=ja">

nzc - din kode?
Avatar billede nzc Nybegynder
16. februar 2003 - 12:05 #18
arg havde sat det ind i <%! %> .... og det ville den ikke.... har fjernet det nu og ka godt compile men det virker sq ikke rigtig.. har lavet følgende lille testside:

<%@ page language = "java" %>
<html>
<body>
<% String mode = request.getParameter("mode"); %>
<% if (mode == "hej")
{
    %>
      hej
    <%
}
        if (mode == "nej")
{
    %>
      nej
    <%
}
        else
        {
        %>
            smart
        <%
        }
        %>
        </body>
</html>

lige gyldig hva jeg skriver kommer der smart frem :/
Avatar billede nzc Nybegynder
16. februar 2003 - 12:06 #19
ov ja forresten ...

ericjacobsen du kom først med svaret så du er den heldige vinder af 30 point hvis du asso lige vil smide et svar :)
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 12:07 #20
<%! %> anbringer koden udenfor den metode, der har
request som parameter.

Hvad skriver du så i din browser?

Mener du ikke egentlig en

  if () {
  } else if () {
  } else {
  }

??
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 12:10 #21
Point - nej tak (jeg kan jo heller ikke stave til String - suk)...
Avatar billede nzc Nybegynder
16. februar 2003 - 12:11 #22
jeg skriver

test.jsp?mode=hej

har lige ændret det til else if :)
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 12:12 #23
Godt nok. Så skal du

if (mode.equals("hej"))
Avatar billede nzc Nybegynder
16. februar 2003 - 12:12 #24
hehe :)

jam hva så med point ???
Avatar billede arne_v Ekspert
16. februar 2003 - 12:17 #25
Erik>

Hvis man laver en POST med en URL indeholdende query, så
beder man om problemer.
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 12:19 #26
Man beder om problemer i JSP, ja. Ellers er det
da en yderst fornuftig måde at håndtere visse ting på.
Avatar billede nzc Nybegynder
16. februar 2003 - 12:20 #27
argh.... n00bfejlen med at sammenligne 2 Strings :P er vist blevet for vant til ASP :((((

men ericjacobsen... du ska i hvert fald ha tak for hjælpen. Det ka du alligevel ikke sige nej tak til :) Jeg vil gerne at du tar pointene for jeg tør ikke tage dem selv... fik en masse folk på nakken da jeg tog nogen point fordi jeg ikke fik svar fra ham der var kommet med det svar jeg kunne accepterer :/

oz mange tak til jer andre :)))

NZC
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 12:23 #28
Jeg skal ikke have point. Jeg forsøger at slippe for et af
de der gratis PRO abonnementer. Man kan ganske enkelt ikke
blive fri hvis man tjener lidt point. Så du kan ikke på nogen
måde få mig til at tage de point.

De andre har da også hjulpet lidt ... ?
Avatar billede nzc Nybegynder
16. februar 2003 - 12:28 #29
yeye de andre har oz hjulpet men du kom jo først :)

medions ... du kom oz med et godt svar :)

Hvis du ligger et svar så får du points
Avatar billede arne_v Ekspert
16. februar 2003 - 13:30 #30
erik>

Også andre har problemer med det se f.eks.:
  http://lists.w3.org/Archives/Public/www-talk/2002NovDec/0018.html

Og man kan iøvrigt godt få dem adskilt i Java via getQueryString og getInputStream
i forbindelse med HttpUtils parseQuertString og parsePostData.
Avatar billede medions Nybegynder
16. februar 2003 - 13:31 #31
erikjacobsen> LOOOL - ok, jeg syntes nu oxo det er lidt weird de lige pludselig giver gratis pro medlemskaber ud til højre og venstre, der er jo folk der betaler for dem osv. så i realiteten er det jo decideret unfair!
Men jeg har da nu ikke noget i mode at komme af med de irriterende bannere!

Men bare det virker så er alt vel godt ;o)

//>Rne
Avatar billede arne_v Ekspert
16. februar 2003 - 13:31 #32
erik>

Hvorfor vil du ikke have et gratis pro abonnement ?
Bl.a. kan du jo så slippe for de gruelige reklamer !
Avatar billede nzc Nybegynder
16. februar 2003 - 13:39 #33
værsgo medions :)

og tak til jer andre for gode kommentarer :)
Avatar billede medions Nybegynder
16. februar 2003 - 13:41 #34
Thx 4 Poinz :)

//>Rune
Avatar billede erikjacobsen Ekspert
16. februar 2003 - 14:38 #35
Ja, Arne selvfølgelig kan man skelne dem fra hinanden,
men det er lidt besværligt, så det "gider" man ikke ;)
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