2014-12-02 2 views
1

В Struts 2, "input" возвращается, когда проверка не выполняется в методе validate(). Затем я перечислил <result name="input"> в struts.xml для соответствующей страницы.Как метод validate() в Struts 2 получает результат «input»?

Мне просто интересно, как он получает «ввод», который является String, когда метод validate() сам возвращает пустоту?

@Override 
public void validate() { 
    // if checks here 
} 

Я хотел бы понять эту концепцию.

+1

Вы можете прочитать документы для этого или [этого] (http://stackoverflow.com/a/26367502/573032) или [это] (http://stackoverflow.com/a/18504177/573032). –

+0

Ну, вам нужно добавить ошибки поля или действия. Рамка работает проверкой, устанавливая эти значения в карту, если карта пуста, тогда она запускает execute(). Вы также можете взглянуть на код (добавить источники, используя maven), а затем проверить ActionSupport, и вы можете увидеть сторону действия кода (а не вызывающую сторону), но должно быть достаточно ясно, как это работает. Вы предоставляете функциональность, которая вызывает struts2 и определяет, что делать. Типичное каркасное программирование, это следует за образцом Голливуда: вы не звоните нам, мы вам звоним. – Quaternion

+1

Это может показаться хорошим: [Struts2 INPUT result: как это работает? Как обрабатываются ошибки преобразования/проверки?] (Http://stackoverflow.com/a/23450365/1654265) –

ответ

1

Метод сам по себе ничего не возвращает (void). Он вызывается перехватчиком validation. Но после этого перехватчик обычно идет workflow перехватчик. Этот перехватчик несет ответственность за возвращение результата INPUT, если действие hasErrors().

+0

Благодарим вас за то, что вы действительно ответили на это. – silver

+0

Добро пожаловать. –

 Смежные вопросы

  • Нет связанных вопросов^_^