Несколько атрибутов модели в JSP с помощью Spring - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь выполнить одну единственную форму, отправить несколько атрибутов модели с помощью Spring и JSP.

С помощью одного, который я знаю, как это сделать, сопоставить модель с тегом form:form.

Но если я хочу получить два атрибута modelAttributes в методе контроллера с аннотациями @ModelAttribute, как мне это сделать?Это вообще возможно?Я знаю, что это не так часто, но я хотел бы знать, возможно ли это.

Ответы [ 3 ]

3 голосов
/ 24 февраля 2012

AFAIK, вы можете связать форму только с одним объектом. Если у вас есть два класса, вы можете создать один класс, который ссылается на два других класса, а затем связать с этим классом.

0 голосов
/ 03 февраля 2017

Просто добавьте вложенную форму Jsp с помощью одной кнопки отправки пример см. ниже

<form:form method="POST" modelAttribute="applicationGeneralInformation">
  <div class="section2">
    <h2>General Informaion</h2>

    <form:input type="hidden" path="id" id="id"/>
    <label for="app_version">Version</label>: <form:input type="text" id="app_version" path="version"/><br/>
    <label for="app_func_desc">Description</label>: <form:input type="text" id="app_func_desc"
                                                                           path="functionalDescription"/><br/>
    <label for="app_sec_func">Functions</label>: <form:input type="text" id="app_sec_func"
                                                                      path="securityFunctions"/><br/>

</div>
<div class="section2">
    <h2>Application Content</h2>
    <form:form method="POST" modelAttribute="applicationContent">
        <div>
            <h3>CIA Rating</h3>
            <label for="CIARating">CIA Rating</label>: <form:select type="text" id="CIARating" path="CIARating">
            <form:option value="1">1</form:option>
            <form:option value="2">2</form:option>
            <form:option value="3">3</form:option>
            <form:option value="4">4</form:option>
        </form:select><br/><br/>
        </div>
        <div>
            <h3>Business Continuity and Disaster Recovery</h3>
            <div>
                <h4>RTO</h4>
                <label for="RTO">RTO</label>: <form:select type="text" id="RTO" path="RTO">
                <form:option value="1">< 2<sub>Hrs</sub></form:option>
                <form:option value="2">2<sub>Hrs</sub>-4<sub>Hrs</sub></form:option>
                <form:option value="3">4<sub>Hrs</sub>-48<sub>Hrs</sub></form:option>
                <form:option value="4">> 48<sub>Hrs</sub></form:option>
            </form:select><br/>
            </div>
            <div>
                <h4>RPO</h4>
                <label for="RPO">RPO</label>: <form:input type="text" id="RPO" path="RPO"/><br/>
            </div>
        </div>
    </form:form>
    <input type="submit" value="Submit">
  </div>
</form:form>
0 голосов
/ 28 апреля 2014

Да, я согласен с nickdos. Кстати, не забудьте указать имя этих двух классов в path:

пример:

<spring:bind path="user.status">
<appfuse:label styleClass="control-label" key="id.user.maritalStatus"/>
<form:input path="user.status" cssClass="form-control" id="status" />
</spring:bind>
...