Greifen Sie auf Elemente in einer FTL-Vorlage per Index zu

8

Sie müssen auf das erste und zweite Element einer Liste in der Vorlage zugreifen.

Mein Java-Code:

%Vor%

Meine FTL-Vorlage:

%Vor%

& lt; - Die obige Zeile schlägt mit undefiniertem Ausdruck auf myMap [key] [0] fehl. Ich habe überprüft und myMap [Schlüssel] ist eine SimpleSequence. Außerdem versuchte $ {myMap [key]? First} und das mit demselben Fehler fehlschlug. Irgendwelche Ideen?

    
shameed 23.05.2012, 18:11
quelle

2 Antworten

4

[0] und [1] sind dafür geeignet, aber es sieht so aus, dass entweder die Sequenz 0 Elemente hat oder diese Elemente null sind. Was druckt ${myMap[key]?size} ? Übrigens können Sie ${myMap[key][0]!'some default'} schreiben, wenn Sie einen Wert erhalten möchten, selbst wenn das Element nicht existiert oder null .

    
ddekany 23.05.2012, 23:38
quelle
2

Ihr Problem besteht darin, dass Sie die Liste mit dem Schlüssel: "key" in Ihr 'myMap' Objekt einfügen und dann versuchen, mit dem Schlüssel: "keys" darauf zuzugreifen.

Aus diesem Grund haben Sie einen undefinierten Ausdruck erhalten, um ihn zu korrigieren:

%Vor%

oder natürlich könnten Sie Ihren Java-Code in

ändern %Vor%

und verwende den ftl-Code wie er ist.

    
Aswan 18.07.2012 10:59
quelle

Tags und Links