Vérifiez si le paramètre de la requête est égal à une chaîne de caractères en Java
Je veux le faire en java
if(request.getParameter("page") == "page1")
//page1
else if(request.getParameter("page") == "page2")
//page2
Pour quelqu'un de nouveau à java, pourquoi ne pas le code ci-dessus, le travail, et quelle est la meilleure façon de faire ce que je veux faire ci-dessus?
OriginalL'auteur steve | 2011-01-08
Vous devez vous connecter pour publier un commentaire.
Depuis
String
est un objet, pas un primitif, le==
serait seulement de les comparer en référence, non pas par l'objet de la représentation interne. Vous avez besoin de les comparer enequals()
à la place.(remarque, ce style est fait de sorte à éviter d'éventuels
NullPointerException
sur par exemplerequest.getParameter("page").equals("page1")
lorsque le paramètre renvoienull
)Questions connexes:
==
etequals()
?Sans rapport avec le problème, la JSP n'est pas le meilleur endroit pour ce travail. Considérons un Servlet.
Je vous remercie, bon résumé
OriginalL'auteur BalusC
Vous utilisez le mauvais égal à égal. Essayez ceci:
== compare les références de l'objet pour voir si elles sont égales, alors que .est égal vérifie si les valeurs de ces références d'objets sont égaux.
OriginalL'auteur jmort253