Альтернатива использованию StringEscapeUtils.escapeJavaScript() в commons lang3

Мне было поручено обновить наш код с использования org.apache.commons.lang на org.apache.commons.lang3, и я обнаружил, что в более новой версии StringEscapeUtils больше нет метода escapeJavaScript(), однако мы использовали его во многих местах нашего кода.

Я прочитал документацию, и кажется, что весь StringEscapeUtils был переписан для lang3 (см. примечания к выпуску lang 3.3.2), и с этим переписыванием они удалили escapeJavaScript(), однако они не сказали, что использовать в качестве альтернативы ни в одной из своих документов (не что я и так вижу). Вот новая документация.

Итак, мой вопрос: я не могу быть единственным, кто заметил это и столкнулся с этой проблемой, так какова альтернатива использованию StringEscapeUtils.escapeJavaScript()?


person Popeye    schedule 19.03.2015    source источник
comment
Было бы интересно узнать, почему кто-то считает, что это не по теме, потому что он запрашивает сторонние ресурсы, и почему они думают, что его следует закрыть. Я не прошу сторонние ресурсы, у меня есть ресурс, это commons lang3. Я прошу альтернативный обходной путь, чтобы заменить escapeJavaScript, и есть ли альтернатива, содержащаяся в самом коде commons lang3. Пожалуйста, объясните, почему вы считаете, что это не по теме   -  person Popeye    schedule 19.03.2015
comment
Спасибо, что спросили об этом. Сегодня я обнаружил то же самое и не смог найти ссылки на него в документе Commons.   -  person Jeremy Goodell    schedule 21.12.2015


Ответы (2)


Любой из escapeEcmaScript или escapeJson будет подходящей заменой.

person Ian Roberts    schedule 19.03.2015
comment
Немного покопавшись в escapeEcmaScript, я обнаружил, что, по сути, когда они переписали класс StringEscapeUtils, они решили изменить его имя, поскольку, по сути, метод изменился, чтобы охватить все стандартные языки ECMA, такие как JScript, JavaScript и ActionScript, поэтому Я считаю, что изменение его для использования escapeEcmaScript является правильным подходом. Так что +1 и принято. Спасибо - person Popeye; 19.03.2015

Согласно устаревшей странице Apache Commons, мы должны использовать:

  • Apache Commons Text
person will    schedule 09.01.2018