Плагин Struts2 JSON включает свойства - не полная поддержка регулярных выражений?

В документации к плагину Struts2 версии 2.3.x говорится, что параметр includeProperties можно установить, и он ведет себя следующим образом:

Разделенный запятыми список регулярных выражений можно передать в Результат JSON, чтобы ограничить, какие свойства будут сериализованы. ТОЛЬКО свойства, соответствующие любому из этих регулярных выражений, будут включены в сериализованный вывод.

Однако, судя по моим собственным испытаниям, это не так. В любом случае, похоже, что он не поддерживает полный синтаксис регулярных выражений, как можно было ожидать (т. Е. Полный набор выражений, которые будут работать с java.util.regex.Pattern).

Возьмите простой пример, где мы могли бы использовать дополнительный жадный квантификатор ("?") С группой. Чтобы сделать вещи конкретными, эта модель: ^(items\\[\\d+\\]\\.)?userName$ не работает; это игнорируется и ваш includeProperties в конечном итоге null,

Но если вы вместо этого просто используете ^items\\[\\d+\\]\\.userName$ тогда это работает (образец распознан и добавлен). Просматривая org.apache.struts2.json.JSONUtil Исходный код показывает, что для обработки шаблонов написано много специального кода.

В документации плагина JSON не упоминается, что поддерживается только специальное подмножество регулярных выражений. Какова история, на которой типы выражений поддерживаются или не поддерживаются этим плагином?

0 ответов

Другие вопросы по тегам