webForumDet fria alternativet

Sökvägen till sidan

6 svar · 409 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Finns det något motsvarighet till $PHP_SELF i JSP?
Sökvägen till den aktuella sidan alltså?

När jag ändå håller på att fråga:
Hur kollar jag om en variabel är satt?

I PHP gör jag det så här:

if (isset($foo))
 echo "foo har ett värde";
else
  echo "foo har INTE nåt värde";

Hur gör jag samma sak med JSP?

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Svar 1:
Det är request.getRequestURI() som du ska använda för att få ut vad sidan heter.
Läs mer här, getRequestURI()

Svar 2:
Jag antar att du menar en parameter variabel (en som du får via POST eller GET) om det inte var det som du menade, fråga igen :)

if(request.getParameter("foo")!=null)
 out.println("Det finns en parameter som heter foo");
else
  out.println("Det finns inte en parameter som heter foo");

/Viktor

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Lysande Viktor! Det funkar perfekt.
Som du säkert märkt så kommer jag från PHP-världen så du kan räkna med fler "lätta" frågor. :)

sgtpepperMedlem sedan apr. 20007 588 inlägg
#4

Ett litet tips:

Om du i en Servlet/JSP skall kolla om en request-variabel är satt till något visst värde så kan det ibland vara smidigt att skriva det på detta sätt:

if ("update".equals(request.getParameter("action")) {

}

På så sätt så slipper man först att kolla så att request-variabeln inte är null och sedan göra själva jämförelsen. I och med att man anropar equals() på strängobjektet man letar efter och inte på request-strängen så behöver man inte oroa sig om null. Gör man däremot tvärtom och request-strängen är null så kastas ett NullPointerException.

Smidigt och enkelt :).

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Nu blev det lite knepigare:

<a href="<%= request.getRequestURI() %>?namn=kalle">Kalle</a><br>

<%
if(request.getParameter("namn")!=null)
	out.println("Det finns en parameter som heter namn och den har värdet: " + namn + "<br>");
else
	out.println("Det finns inte en parameter som heter namn");
%>

Koden returnerar:

/jsp/gastbok/gb.jsp:91: Undefined variable: namn
	out.println("Det finns en parameter som heter namn och den har värdet: " + namn + "<br>");
	                                                                           ^

Hur löser jag det här?

ViktorMedlem sedan aug. 20021 752 inlägg
#6

Du måste deklarera variabeln namn.

<a href="<%= request.getRequestURI() %>?namn=kalle">Kalle</a><br>

<%
String namn=request.getParameter("namn"); //String är ett objekt och kan ha värdet null
if(namn!=null)
	out.println("Det finns en parameter som heter namn och den har värdet: " + namn + "<br>");
else
	out.println("Det finns inte en parameter som heter namn");
%>

eller

<a href="<%= request.getRequestURI() %>?namn=kalle">Kalle</a><br>

<%
if(request.getParameter("namn")!=null)
	out.println("Det finns en parameter som heter namn och den har värdet: " + request.getParameter("namn") + "<br>");
else
	out.println("Det finns inte en parameter som heter namn");
%>

/Viktor

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Tack! :bire

132 ms totalt · 3 externa anrop · v20260731065814-full.16f3d68c
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)