В документации сказано, что для рендеринга страницы можно использовать альтернативный метод, например input
. Это означает, что когда вы отправляете форму на странице, она может вернуться с результатом input
. Обычно это происходит автоматически во время процесса проверки, если проверка не удалась или hasErrors
. Затем вы можете отправить форму обратно в метод execute
действия по умолчанию. Вам не нужно указывать method
в конфигурации действия. Также, если вы не указали атрибут action
в теге form
, будет выполнено то же действие, которое использовалось для отображения страницы.
Настроив действия, вы можете использовать одну и ту же страницу для результата success
при рендеринге страницы методом GET
и input
при запросе метода POST
.
Чтобы использовать аннотации для настройки сопоставления действий, вы можете использовать плагин конвенции.
Также обратите внимание, чтобы сопоставить метод класса с действием, вы должны поместить аннотацию @Action
непосредственно к этому методу, а не к классу.
Более подробное объяснение и документацию вы можете найти здесь.
@Namespace("/")
public class ProductAction extends ActionSupport {
public String execute() {
return SUCCESS;
}
@Action(value="product",
results=@Result(location="/product-list.jsp")
)
public String search() {
return SUCCESS;
}
}
Обратите внимание, что метод execute
не отображается, поэтому он не будет выполняться. Если вам нужно выполнить этот метод, вы должны создать для него сопоставление. Для этого вы можете поместить аннотацию на класс или на метод execute
.
person
Roman C
schedule
30.10.2020