Plusieurs modelattributes dans un JSP avec Spring

ce que j'essaie d'accomplir c'est d'utiliser un seul formulaire, soumettre plusieurs modelattributes avec Spring et JSP.

avec un je sais comment le faire, la cartographie du modèle avec la balise form:form .

mais, si je veux obtenir deux modelAttributes dans la méthode controller avec les annotations @ModelAttribute Comment dois-je le faire? Est-il même possible? Je suis conscient que ce n'est pas si courant, mais je voudrais savoir si c'est possible.

0
demandé sur skaffman 2012-02-23 15:59:00

3 réponses

AFAIK, vous ne pouvez lier une forme qu'avec un seul objet. Si vous avez deux classes, alors vous pouvez créer une classe unique qui fait référence à deux autres classes, puis lier avec cette classe.

2
répondu nickdos 2012-02-24 19:47:56

Yup, je suis d'accord avec nickdos. Btw, n'oubliez pas de mettre ces deux classes nom dans Chemin:

exemple:

<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>
0
répondu idzi 2014-04-28 04:28:52

il suffit d'ajouter un formulaire JSP imbriqué avec un seul bouton Soumettre exemple voir ci-dessous

<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
répondu Tunde Pizzle 2017-02-03 10:23:49