Вызов динамического метода (DMI) - это функция инфраструктуры Struts2, которая позволяет символу "!" (Bang) символ вызывает метод, отличный от ʻexecute`.

Вызов динамического метода (DMI) - это функция инфраструктуры Struts2, которая позволяет символу "!" (Bang) символ вызывает метод, отличный от execute. Знак "!" в URL-адрес после имени действия добавляется символ, за которым следует имя выполняемого метода. Разница с действиями сопоставления заключается в том, что в противоположном случае действие сопоставляется непосредственно с методом в конфигурации действия, любой другой метод может быть выполнен независимо от настроенного метода или метода.execute который используется по умолчанию.

Эта функция настраивается свойством или константой struts.enable.DynamicMethodInvocation которые могут принимать значения true или false. По умолчанию эта функция включена.

Начиная с Struts 2.3, была добавлена ​​опция для ограничения методов, которые может вызывать DMI. Вы можете использовать атрибутstrict-method-invocation="true" из packageтег. В этом случае Struts отклонит любой метод, который не определен вmethod атрибут или allowed-methods из action тег.

Документация: http://struts.apache.org/docs/action-configuration.html