Struts 2 Validation и Input поля повторного заполнения

Если у меня есть следующий конфигурационный файл struts.xml:

<action name="input">
   <result>/jsp/input.jsp</result>
</action>

<action name="result">
    <result>/jsp/result.jsp</result>
    <result name="input">/jsp/input.jsp</result>
</action>

И простая форма только с одним полем:

<s:form action="result">
    <s:textfield name="firstName" label="First Name"/>
    <s:submit/>
</s:form>

Если проверка не пройдена, допустим, что каждый раз, когда я отправляю действие (результат), проверяется, что длина firstName длиннее 3. В случае неудачи он возвращается на страницу ввода, в данном случае input.jsp, но с полем firstName, уже заполненным ( с неверным значением, которое я только что отправил. Как Struts 2 делает это? Интересно, потому что, как я понимаю, когда я отправляю, по умолчанию метод POST вводит входные данные в действие, и те имена параметров запроса, которые соответствуют валидации, будут проверены. если проверка не пройдена, она вернется на страницу ввода (в ответ на запрос POST) с доступными только параметрами запроса, поэтому мне приходит в голову только то, что поле ввода заполняется параметрами запроса, но, например, если я сделаю следующий тест. Допустим, я буду имитировать это следующим:

HTTP: //domain/myApp/input.action ПгвЬЫат = Альфредо Поле ввода firstName не будет заполнено.

Но когда результат приходит из проверки, он будет заполнен. Интересно, если Struts 2, чтобы получить те значения, которые должны быть в параметрах запроса, нажмите объект параметра запроса (#parameters) и таким образом он будет заполнен.

Может ли кто-нибудь объяснить мне это? Как Struts 2 достигает этого заселения?

Спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос