alle. Ich brauche Java 5 Enum in Geschwindigkeit Vorlage, so dass ich etwas schreiben könnte wieVerwenden von Java 5 enums als Velocity-Variablen
Wie kann es getan werden? Danke im Voraus.
alle. Ich brauche Java 5 Enum in Geschwindigkeit Vorlage, so dass ich etwas schreiben könnte wieVerwenden von Java 5 enums als Velocity-Variablen
Wie kann es getan werden? Danke im Voraus.
Nicht schön, aber eine Abhilfe wäre, (manuell) die Enum-Konstanten, die Sie benötigen, in den Velocity-Kontext zu platzieren.
request.setAttribute('level_info', Level.INFO);
request.setAttribute('level_error', Level.ERROR);
Dann könnten Sie
#if ($var == $level_info)
Vielleicht einfacher sagen: Nur die toString()
Ihre Enum-Instanz
#if ("$var" == 'INFO')
Eigentlich statt toString() Methode verwenden, wäre es besser, zu verwenden, name(), da es genau den Wert von enum zurückgibt und endgültig ist und daher in Zukunft nicht überschrieben werden kann. So in der Geschwindigkeit können Sie so etwas wie
#if($var.name() == "INFO")
Ab Velocity 1.5, wenn die beiden Elemente im Vergleich verwenden werden mit == ist verschiedener Klassen, tut es automatisch eine toString() auf beide. Also versuchen Sie
#if($var == "INFO")
Je nachdem, was Sie wenn .. sonst .. eigentlich tun. Auch, ob dies nur 1 Art oder viele verschiedene Operationen sind. http://stackoverflow.com/questions/859563/java-enums-and-switch-statements-the-default-case könnte hilfreich sein. – bryantsai