Наличие нескольких форм на Spring MVC - PullRequest
4 голосов
/ 25 июня 2010

Я работаю с Spring MVC 2.5.

Часто я использую только одну форму во всех моих JSP.Теперь мне нужно добавить еще одну форму в тот же JSP.

Мой вопрос заключается в том, будет ли Spring MVC поддерживать тот же метод жизненного цикла, какую форму я отправляю?

Я имею в виду ту же привязку данных, проверку, обработка ошибок, контроллер формы и т. д.

<div>
    <form:form method="post" commandName="station">

    </form>
</div>

<div>
    <form:form method="post" commandName="fields">

    </form>
</div>

Ответы [ 2 ]

3 голосов
/ 26 июня 2010

Контроллеры старого стиля, которые вы используете, могут поддерживать только один объект команды и, следовательно, только одну форму, за раз.Ответ Артура показывает, что вы не можете поместить обе формы на одну страницу, поскольку любой заданный контроллер будет предоставлять только один объект формы, вы никогда не активируете обе формы одновременно.

Если вы захотите это сделатьвам придется прекратить использовать контроллеры старого стиля (которые устарели в Spring 2.5 и устарели в Spring 3) и использовать аннотированные контроллеры, которые гораздо более гибки.Вы можете смешивать ваши формы в значительной степени, насколько вам нужно.

3 голосов
/ 25 июня 2010

Spring SimpleFormController просто поддерживает один тип объекта Command. Поэтому, если вы хотите использовать две разные формы Spring в одной и той же JSP, вам нужно создать два SimpleFormController. А внутри вашей JSP сделайте следующее, чтобы избежать какого-то исключения

<c:if test="${not empty station}">
    <div>
        <form:form method="post" commandName="station">

        </form>
    </div>
</c:if>

<c:if test="${not empty fields}">
    <div>
        <form:form method="post" commandName="fields">

        </form>
    </div>
</c:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...