2012-01-05 6 views
5

używam szablonów Velocity języka i obecnie:Jak uzyskać dostęp do elementów tablicy po użyciu string.split w Velocity?

#set ($stringList = $string.split(",")) 

które działa prawidłowo i rozdziela się za pomocą znaków „” jako separatora, jak oczekiwano.

Moje pytanie brzmi: w jaki sposób mam teraz dostęp do każdego z elementów w łańcuchu $ stringList?

Próbowałem:

$stringList.get(0) 
$stringList[0] 
$stringList.[0] 
${stringList}.get(0) 

Używam Velocity w JIRA JIRA i zdarza się używać Velocity w wersji 1.4, który najwyraźniej nie ma wsparcia dla dostępu do tablic jako wypróbowany powyżej.

Każda pomoc jest doceniana.

+1

$ stringList.get (0) prace dla mnie. –

Odpowiedz

1

Działa po przekonwertowaniu tablicy na listę za pomocą funkcji Arrays.asList(), a następnie użyj metod z listy, aby uzyskać dostęp do elementów.

I dodać następujące okoliczności:

context.put("arrays", Arrays.class); 

W szablonie prędkości używam:

#set ($array = $getarray.getArray()) 

$arrays.asList($array).get(0) 

sznurkiem-Array następująco

new String[] {"test1", "test2", "test3", "test4"}; 

pojawia się oczekiwany wyjście:

test1 
+0

Dzięki za centic sugestii, ale to nie działa. Dzięki i tak. – davey1990

+0

Wypróbowałem to teraz i działało zgodnie z powyższymi krokami, czy możesz opublikować bieżący kod, abyśmy mogli zobaczyć, dlaczego to nie działa? – centic

6

Testowany z prędkością 1,6.

#foreach ($element in $string.split(";")) 
    $element 
#end 
+0

To również działa. Dzięki! – davey1990

0

Możliwe jest również wciśnięcie elementów do takiej tablicy.

#set ($matchingProducts = []) 
#set($bar = $matchingProducts.add($p)) 
1

Od Velocity 1.6, wszystkie odniesienia tablicy są teraz „magicznie” traktowane jako list, jeśli są stałej długości. Oznacza to, że możesz wywoływać metody java.util.List w odwołaniach do tablicy. Tak więc, jeśli masz odniesienie do tablicy (powiedzmy ten jest String[] z trzech wartości), można zrobić:

$myarray.isEmpty() 

$myarray.size() 

$myarray.get(2) 

$myarray.set(1, 'test') 

Źródło: http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html#methods

Powiązane problemy