2012-09-04 18 views
6

Potrzebuję zakodować ciąg znaków w tekście JavaScript.Guava: Gdzie jest CharEscaper?

Korzystając z wyszukiwarki Google I found bardzo przydatną funkcją jest SourceCodeEscapers.javascriptEscaper, która powinna znajdować się w Guava w pakiecie com.google.common.escape.CharEscaper.

Ale wydaje się, że nie ma tam rzeczywistego wydania Guava 13.0.1. (Również Dzone ma notatkę o nowych CharEscapers w wersji 11, ale nie mogę znaleźć nic na ten temat w informacjach o wydaniu.)

Posiada CharEscaper -class przeniesione? Czy nigdy nie było w Guava? Czy pojawi się w przyszłych wydaniach?

Odpowiedz

6

To jest not in Guava yet, ale będzie. Jak rozumiem, interfejs API wciąż jest modyfikowany i ulepszany, zanim go udostępnimy i zablokujemy obsługę zgodności wstecznej.

+0

Ah, dzięki za link do problemu. Mam nadzieję na kolejne wydanie Guawy. – Sonson123

+1

Jest on zawarty w Guava 15 – lbalazscs

+0

Ale nadal brakuje gubernatora. – Jirka

0

W Guava 20 jest wiele escaperów, ale żaden nie zapewnia metody ucieczki dla JavaScript. Apache Commons StringEscapeUtils zapewnia taką wersję method (łącznie z wersją "unescape") i z tego, co testowałem, wydaje się działać dość dobrze, ale jest ciekawie oznaczona jako przestarzała. Być może zbyt skomplikowane, aby zajmować się autorytatywnie?

Wystarczy być jasne w przypadku użycia, Użyłem StringEscapeUtils#escapeEcmaScript uciec ciąg Java (JSON ciąg faktycznie) w taki sposób, że może to być umieszczane dosłownie jako literał (wewnątrz ' .. ') w wygenerowanego kodu JavaScript kod i działało dobrze (zgodnie z opisem here). Jednak nie próbowaliśmy jeszcze metody rodzeństwa.