Web-TorMedlem sedan nov. 200013 890 inlägg 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 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 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. :)
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 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 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