2010-09-02 10 views
0

Par exemple, je peux avoir un code comme:Quelle est la différence entre l'utilisation des balises "logic: equal" et "logic: notEqual"?

<logic:equal name="userForm" property="isRishi" value="YES"> 
    Welcome, your name is Rishi</logic:equal> 

Et un autre code comme ceci:

<logic:notEqual name="userForm" property="isRishi" value="NO"> 
    Welcome, your name is Rishi</logic:notEqual> 

deux fonctionnerait même. Alors, quelle différence y a-t-il dans l'utilisation de ces deux étiquettes?

Répondre

3

S'il n'y a que deux valeurs possibles, la seule différence est que la seconde forme est plus difficile à comprendre en raison de la double négation.

Si isRishi peut avoir des valeurs autres que "OUI" et "NON" (par exemple nul), la différence doit être évidente.

0

Ils existent pour une meilleure lisibilité. notEqual to no est alambiquée et plus difficile à saisir.

Et aussi, pour la même raison, pourquoi l'opérateur ! existe.

0

Il y a aussi l'autre cas. Que faire si vous voulez faire une chose dans le cas "OUI" et un dans le cas non-OUI? Vous pourriez dire que l'autre cas est égal à NO, mais (a) il peut être nul et (b) si vous n'avez pas de booléen mais autre chose, il peut y avoir beaucoup de valeurs qui ne vous intéressent pas.