Могут ли в приложении Struts2 сосуществовать и плагины кода, и условные обозначения?

Я хочу использовать как плагин code-behind, так и плагин соглашения в моем приложении struts2(2.3.15.3). Я попытался настроить его. Код позади работает, как и раньше, но действия, основанные на соглашениях, не работают должным образом (ошибка 404 не может найти сопоставление). Итак, отладил некоторые части кода Struts и обнаружил, что он загружает оба кода плагинов и соглашение при запуске и строит отображения действий всех классов действий, организованных пакетами, в общий объект типа RuntimeConfiguraion.

Хотел бы отступить и задать вопрос, поддерживает ли Struts по умолчанию одновременное использование как модулей кода, так и соглашений? Есть ли какая-то конкретная конфигурация, которую мне нужно пройти, кроме документации по адресу, http://struts.apache.org/release/2.1.x/docs/convention-plugin.html?

Я не использую struts2-rest-plugin.

1 ответ

Решение

Кажется, возможно иметь оба плагина, если у нас настроены наши действия с использованием обеих версий аннотаций @Action. Один для выделенного кода и другой для условного плагина. URL-адреса, поддерживаемые стандартным плагином, начали работать после того, как я добавил настройки в struts.xml ниже. Кажется, по умолчанию плагин соглашения исключает все файлы jar из пути к классам, когда он сканирует классы Action.

<constant name="struts.convention.action.includeJars" value=".*?-web-lib-.*?jar(!/|/)?"/>
Другие вопросы по тегам