webForumDet fria alternativet

Varför får variabeln inget värde?

3 svar · 235 visningar · startad av Web-Tor

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

Testa att köra den här filen och se om ni fattar vad jag är ute efter.
Säg till om jag ska förklara mer. ;)

<form method="post" action="test.jsp?action=search">
	<input type="submit" name="knapp" value="Sök">
</form>

<%
if (request.getParameter("action") == "search")
	out.println("search");
else if (request.getParameter("action") == "edit")
	out.println("edit");
else if (request.getParameter("action") == "delete")
	out.println("delete");
else
	out.println("action har INTE värdet search/edit/delete");
%>

<br>
<br>

<%
String action=request.getParameter("action");
if(action!=null)
	out.println("Det finns en parameter som heter action och den har värdet: " + action);
else
	out.println("Det finns inte en parameter som heter action");
%>
SPiNMedlem sedan mars 20007 896 inlägg
#2

Jag behöver inte ens testa filen... ;)

Du försöker göra sträng-jämförelser med ==-operatorn, vilket inte alls går. I Java används metoden String.equals( String ) för jämförelse av strängar.

if( "search".equals( request.getParameter( "action" ) )
...
Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Då har man lärt sig nåt nytt idag också. Tack!

ViktorMedlem sedan aug. 20021 752 inlägg
#4

Jag kan ha fel när jag säger såhär men jag tror inte det :)

När du använder == frågar du om det är samma objekt, inte likadant objekt. Det är samma "problem" med alla objekt, inte bara String.

/Viktor

125 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)