Comment tester l’égalité enum dans JSF?

Est-il possible de tester l’égalité enum dans JSF?

Par exemple, lorsque les stuff sont une enum Stuff :

  

Ceci est en fait plus lié à EL que JSF lié. La construction telle que vous l’avez publiée est valide, mais vous devez garder à l’esprit que les valeurs d’énumération dans EL 2.1 sont réellement évaluées en tant que valeurs de Ssortingng . Si Ssortingng.valueOf(mrBean.getStuff()) est égal à Ssortingng.valueOf(mrsBean.getStuff()) , votre exemple de code sera rendu. Dans EL 2.2, la même construction fonctionnera, mais elles sont évaluées comme de véritables énumérations.

Notez que cela nécessite en effet une méthode getter pour renvoyer la valeur enum. Étant donné que les énumérations sont traitées comme des Ssortingng , vous pouvez essentiellement faire:

  

Dans la version actuelle d’EL 2.2, vous ne pouvez pas accéder directement aux valeurs d’énumération comme ceci:

  

Ceci n’est possible que lorsque vous utilisez OmniFaces :

  ...  

Si vous avez la enum

 public enum Status { YES, NO } 

vous pouvez référencer les énumérations dans vos pages jsf comme ceci:

  

Je ne suis pas sûr de l’évaluation de Ssortingng, à cause de quelque chose que je suis tombé sur la refactorisation de code pour utiliser des énumérations: si vous avez une faute de frappe dans votre Ssortingng Status, c’est à dire:

  

vous obtiendrez en réalité une erreur d’exécution lorsque vous bashez la page, car l’parsingur EL essaiera de forcer ‘YESSIR’ dans une énumération de Status et échouera.

Vous pouvez définir des méthodes de test sur l’énumération, voir la source suivante.

Enum définition:

 public enum MyEnum { FOO; public boolean isFoo(){ return FOO.equals(this); } } 

Code JSF: