Проверка полей Struts 2 с динамическими формами

У меня есть приложение Struts 2.

У меня есть файл jsp, который выглядит ниже

<s:form method="post" action="%{#attr.actionType}">

    <c:forEach items="${nvpList2}" var="item">
        <s:textfield label="%{#attr.item.displayName}" 
                     value="%{#attr.item.value}" 
                      name="%{#attr.item.getName()}" 
                        id="%{#attr.item.getName()}"/>
    </c:forEach>

    <s:submit type="button"   cssClass="btn btn-primary" 
               key="button.save" theme="simple" >
        <i class="icon-ok icon-white"></i>
    </s:submit>

</s:form>

Как видно, все элементы, начиная с имени действия и заканчивая именами полей, создаются динамически.

Проблема возникает, когда я проверяю поля. При проверке ошибки отображаются, но ни одно из текстовых полей не появляется на странице.

Как мне решить эту проблему.


person Soumya    schedule 05.10.2014    source источник
comment
Ошибки отображаются, когда вы возвращаете результат ввода, поэтому до того, как прослушиватель результатов сможет повторно заполнить список.   -  person Roman C    schedule 06.10.2014


Ответы (1)


Прочитайте подробный рабочий процесс что происходит, когда возникает ошибка проверки или преобразования;

Как только вы поймете, что происходит, прочитайте Как мы повторно заполняем элементы управления при сбое проверки (метод prepare() и другие способы);

Затем посмотрите, какие нотации (и структуры в сложных случаях) вам нужно построить для отправки списков или карт из JSP в Действие, независимо от того, статическое (JSP или HTML) или динамическое (JSP или Javascript);

Наконец, я не уверен, почему вы используете JSTL вместо итератора Struts, и я не знаю, какая у вас структура данных. отправка данных, но обратите внимание на необходимость включения индекса в имя (с IteratorStatus.index).

person Andrea Ligios    schedule 06.10.2014