2009-11-15 4 views
0

Je suis en train de réaliser une forme simple:« Formulaire » - Si-ELSE

il y a un globalname et GlobalPass, et l'utilisateur est invité à saisir son nom et à transmettre.

If name == globalname and pass = globalpass -> "Hello name" 
If name == blank or pass == blank -> "O NOEZ, you fergit sumpn!" 
If name != globalname or pass != globalpass -> "WHUT? Who be you, intruder?" 

Jusqu'à présent, je ne parviennent qu'à obtenir le premier si travaillant ...

<% 
    String name = request.getParameter("name"); 
    String pass= request.getParameter("pass"); 
    String globalname = "webeng"; 
    String globalpass = "2009"; 
    if (name !=null && pass!=null && name.equals(globalname) && pass.equals(globalpass)) 
    { 
%> 
    <jsp:include page="formular-modul1.jsp" /> 
<% } else 
    { 
%> 
<% } 
%> 

<% 
else if (name =="b" && pass =="c" && name.equals("b") && pass.equals("c")) 
    { 
%> 
    <jsp:include page="formular-modul2.jsp" /> 
<%} else 
    { 
%> 
<% 
}%> 

Le nom == "b" & & passe == "c" était juste à des fins de test, qui a échoué! Quelqu'un peut-il m'aider, s'il vous plaît?

+0

L'OP a continué dans un autre sujet: http://stackoverflow.com/questions/1738294/convert-typed-in-text-to-lowercase – BalusC

Répondre

2

Les chaînes sont des objets , pas primitives. Lorsque vous utilisez == pour comparer des objets, il ne retournera vrai que si les deux points à la même référence. Il ne teste pas la valeur de l'objet. Là, vous avez déjà Object#equals() pour. En dehors de ce problème, l'utilisation de ces anciens scriptlets dans un fichier JSP est un signe d'une mauvaise pratique. Dans ce cas précis, vous feriez mieux d'utiliser une classe Servlet pour cela. Bonne chance.

+0

Je ne fais que commencer par JSP. J'utiliserai des Servlets, quand j'y viendrai. En ce moment je dois utiliser des Scriptlets. Même avec if (name.equals ("b") && pass.equals ("c")) cela ne marche pas! –

+0

Il est difficile d'identifier l'erreur lorsque vous utilisez des scriptlets laids et vous ne développez pas sur le problème réel. "ça ne marche pas" nous donne fondamentalement rien à travailler avec. Je recommande de créer une classe Java qui exécute la tâche et la teste en utilisant main(). Ou vous pouvez mettre un peu plus d'effort dans l'élaboration du problème et dire ce qui se passe réellement au niveau du code (y compris les exceptions/erreurs). – BalusC

+0

Oh, n'oubliez pas de lire les journaux du serveur d'applications. Comme vous utilisez des scriptlets, vous ne verrez aucune exception avec des informations de débogage utiles sur la page, mais seulement une page vide disant rien en cas d'échec. Mes centimes sur une 'NullPointerException'. – BalusC

0

Ça a fonctionné maintenant.

<% 
    String name = request.getParameter("name"); 
    String pass = request.getParameter("pass"); 
    String globalname = "webeng"; 
    String globalpass = "2009"; 
    if (name !=null && pass!=null && name.equals(globalname) && pass.equals(globalpass)) 
    { 
    %> 
    <hr /> 
    <p><b>Howdy, <%= request.getParameter("name") %></b></p> 
    <hr /> 
<% } 
    else if (name !=null | pass!=null && name.equals("") | pass.equals("")) 
    { 
    %> 
    <hr /> 
    <p><b>Ooops, one or more fields are empty. Please fill everything out!!</b></p> 
    <hr /> 
<% } 
    else if (name !=null | pass!=null && !name.equals(globalname) | !pass.equals(globalpass)) 
    { 
    %> 
    <hr /> 
    <p><b>Incorrect Userdata!</b></p> 
    <hr /> 
<% } 
    else{ 
    } 
%> 

Maintenant, j'ai besoin d'utiliser .toLowCase.

Les noms et passes doivent être convertis en .toLowCases ALORS utilisés. Quelqu'un a une idée? Il suffit d'utiliser newname = name.toLowercase(); ou newpass = pass.toLowercase(); ne fonctionne pas!

+0

La classe 'String' a une méthode' equalsIgnoreCase() '. Devinez ce qu'il fait :) – BalusC

+0

Par ailleurs, je ne vais vraiment pas considérer "PaSsWoRd" et "mot de passe" comme égaux. – BalusC

+0

Moi non plus. Ce .jsp ne considère pas "password" et "PaSsWoRd" égaux. Si globalpassword est un mot de passe, alors PaSsWoRd renvoie "UserData incorrect!" –

Questions connexes