2011-01-07 8 views
12
<ui:repeat value="#{coreGridBean.heroBeanList}" var="hero" 
    offset="0" step="1" size="#{hero.size}" varStatus="status"> 
    <tr class="#{status.even ? 'evenColumn' : 'oddColumn'}"> 
     <td>#{status.index}</td> 
     <td>#{hero.id}</td> 
     <td>#{hero.race}</td> 
     <td>#{hero.name}</td> 
    </tr> 
</ui:repeat> 

Ich frage mich, ob die Verwendung von class="#{status.even ? 'evenColumn' : 'oddColumn'}" korrekt ist.Verwenden Sie einfaches Anführungszeichen oder doppelte Anführungszeichen für Strings in EL

Ich fühle mich ein wenig schuldig, einfache Anführungszeichen statt doppelte Anführungszeichen zu verwenden. Aber in diesem Fall schlägt Double Quote fehl, Single Quote gewinnt.

+1

Sie können auch äußere einfache Anführungszeichen verwenden und dann doppelte Anführungszeichen für die Zeichenfolgen verwenden. 'class = '# {status.even? "evenColumn": "oddColumn"} '' – Stefan

Antwort

15

Es ist völlig in Ordnung. Es ist auch die Konvention, die ich verwende: einfache Anführungszeichen für Strings in EL. Es ist nicht nur besser lesbar, es ist auch freundlich für Syntax-Highlighting.

Die Verwendung von Anführungszeichen ist gültig, aber schwieriger zu interpretieren, wenn sie in einem HTML-Attribut verschachtelt ist, das an sich auch doppelt zitiert wird.