2015-11-09 8 views
5

Ich habe diesen Code bekommt, die „gepunktete“ Zeichenfolge in camelcase WebStorm Dateivorlage konvertiert:Klein erste Buchstaben in Apache Velocity

#set($Controller_name = ${StringUtils.removeAndHump(${NAME}, ".")}) 

Zum Beispiel es foo.bar.test-FooBarTest umwandelt.

Aber was ich brauche ist, um es von foo.bar.test zu fooBarTest zu konvertieren.

Wie kann ich das tun?

+0

Gleicher Ansatz (möglicherweise durch Zwischenvariable (n)): Erhalten Sie den ersten Buchstaben Ihres 'FooBarTest' und machen Sie ihn kleingeschrieben; Jetzt verketten Sie es mit anderen Buchstaben in dieser Zeichenkette (es sei denn, es gibt natürlich eine Java-Methode, die nur Großbuchstaben in einer Zeichenkette enthalten kann). – LazyOne

+1

Da ich kein Geschwindigkeitsexperte bin, kann ich nur diesen hässlichen Code anbieten: 1) '#set ($ first_letter = $ controller.substring (0,1) .toLowerCase())' 2) '# set ($ the_rest = $ controller.substring (1)) '3)' class Controller _ $ {first_letter} $ {the_rest} '. Sie sollten in der Lage sein, die Anzahl der Zeilen auf 2 oder sogar 1 zu reduzieren ... – LazyOne

Antwort

8

Dies ist, was für mich endlich geklappt:

#set($Controller_name = ${StringUtils.removeAndHump(${NAME}, ".")}) 
#set($first_letter = $Controller_name.substring(0,1).toLowerCase()) 
#set($the_rest = $Factory_name.substring(1)) 
#set($Controller_name = ${first_letter} + ${the_rest}) 

Es verkürzt werden kann:

#set($Controller_name = ${StringUtils.removeAndHump(${NAME}, ".")}) 
#set($Controller_name = $Controller_name.substring(0,1).toLowerCase() + $Controller_name.substring(1)) 

Dank @LazyOne für mich in der richtigen Richtung.

+0

Perfekte Lösung! funktioniert super für mich – Samarland