2016-05-23 2 views
0

Wenn ich bin mit Groovy String Vorlage: http://docs.groovy-lang.org/latest/html/documentation/template-engines.html#markuptemplate-gotchasStenografie für groovy String

Ich habe eine Variable $ name1, name2, und ich möchte etwas sagt wie:

${name1? name1:''} ${name2? 'name2 was here, too': ''} 

Gibt es eine saubere Art und Weise zu Schreib den Ausdruck so. Gegeben ich weiß nicht, ob $ name1, $ name2 null ist oder nicht. Wenn dies der Fall ist, ist das Drucken leer oder nichts drucken in Ordnung. Ich will einfach nicht 'null' als Text.

Antwort

0
${name1 ?: ''} ${name2 ? 'name2 was here, too' : ''} 
1

Es ist so etwas wie ein Elvis Betreiber:

def foo = bar?:baz 

Welche zu rufen gleich:

def foo = bar ? bar : baz 

In Ihrem Fall, können Sie es wie folgt verwenden:

${name1?:''} 
+1

Nitpicking: der entsprechende Code ist 'bar? bar: baz'; Groovy Thruth statt eines Null-Checks. – cfrick

+0

@cfrick Danke, dass du das herausgibst, ich habe das in die Antwort geschrieben – CptBartender