2013-06-14 8 views
22

Ich habe die folgende el Ausdruck:Concat zwei String in JSF EL Ausdruck

<af:outputText value="#{viewArticle.publish ? ('Publish on ' + viewArticle.publishDate + ' by ' + viewArticle.publishFirstName + ' ' + viewArticle.publishLastName) : 'Draft version'}"/> 

Aber ich bin immer

java.lang.NumberFormatException: For input string: "Publish on " 

Wie kann ich die Zeichenfolge beitreten?

+0

Sie haben eine eigene EL Zeichenfolge Concat Funktion zu schreiben, da EL + als eine arithmetische Operation versteht. –

+0

@refrigerator das bedeutet in el diese art von funktion nicht verfügbar? –

+0

Eigentlich können Sie, wenn die EL-Version 2.0+ concat-Methode verwendet, welche Version von ADF Faces verwenden Sie? –

Antwort

45

Sie die String.concat Funktion nutzen zu können:

<af:outputText value="#{viewArticle.publish ? 'Publish on '.concat(viewArticle.publishDate).concat(' by ').concat(viewArticle.publishFirstName).concat(' ').concat(viewArticle.publishLastName) : 'Draft version'}"/>

22

sollten Sie

schreiben
value = "#{someBean.aProperty} something you want in between #{someBean.anotherProperty}" 
4

Sie haben eine benutzerdefinierte EL-Funktion zu schreiben. This example wird Ihnen helfen :)