2013-05-22 2 views
0

У меня есть страница jsp, где я буду использовать много атрибутов из разных классов, поэтому мне нужно использовать два @ModelAttribute в моем контроллере. также, если я использую два @ModelAttribute в одном контроллере, я должен указать два имени команды в моей форме. это возможно ?невозможно использовать два @ModelAttribute в одном контроллере?

Это моя форма: (Fonction является атрибутом в классе Activite и имя Etablissement является атрибутом в классе Etablissement:

    <table id="tabmenu"> 
         <tr> 
          <td>Fonction :</td> 
          <td><form:input type="text" class="round default-width-input" path="fonction" /></td> 
         </tr> 
         <tr> 
          <td>Nom d'établissement :</td> 
          <td><form:input type="text" class="round default-width-input" path="noml"/></td> 
         </tr> 
         <tr> 
          <td>Ville :</td> 
          <td><form:input type="text" class="round default-width-input" path="villel"/></td> 
         </tr> 
         <tr> 
          <td>Délégation :</td> 
          <td><form:input type="text" class="round default-width-input" path="cd_reg" /></td> 
         </tr> 
         <tr> 
          <td>Date début :</td> 
          <td><form:input type="text" name="date" class="tcal" value="" path="dateAffect"/></td> 
         </tr> 
         <tr> 
          <td>Date fin :</td> 
          <td><form:input type="text" name="date" class="tcal" value="" path="dateAffect"/></td> 
         </tr> 
         <tr> 
          <td><input 
           class="button round blue image-right ic-right-arrow" 
           type="submit" value="Créer" /></td> 
          <td><input 
           class="button round blue image-right ic-right-arrow" 
           type="reset" value="Initialiser" /></td> 
         </tr> 
        </table> 
        </form:form> 

Контроллер:

@RequestMapping(value="/fiche_service",method=RequestMethod.GET) 
public ModelAndView Fiche_service(@ModelAttribute Activite activite,@ModelAttribute Etablissement etabl,ModelMap model) { 
    Agent ag = new Agent(); 
    return new ModelAndView("FicheService","agent",ag); 

} 

Activite POJO:

public class Activite { 

    int code_act; 
    String cd_modaff; 
    String cd_etab; 
    String fonction; 
    int ppr; 
    String CINA; 
    String CINN; 

    public Activite() { 
     super(); 
    } 
    //getters and setters .... 

} 

Etablissement POJO

public class Etablissement { 

    String code_etab; 
    String code_gipe; 
    String noml; 
    String noma; 
    String cd_orgTutel; 
    String cd_reg; 
    String cd_prov; 
    String cd_com; 
    String cd_mil; 
    String cd_cauto; 
    String adressel; 
    String cp; 
    String villel; 

    //getters and sitters 
} 
+0

Я бы порекомендовал вас попробовать. –

+0

Я стараюсь, чтобы он не работал, поэтому мне действительно нужно решение, потому что я не могу использовать только один класс на каждой странице. Мне нужен класс объектов manay сразу, и их невозможно предоставить с помощью @ModelAttribute. – Somar

+0

Вы можете поместить любое количество '@ ModelAttribute', но вы сомневаетесь, что в теге формы вы можете иметь много« commandName ». Есть обходные пути. Покажите нам какой-то код. –

ответ

1

Я думаю, что вы можете иметь только один объект команды по форме. Если у вас несколько форм, то только вы можете иметь несколько объектов команды. Вам нужны несколько объектов команды для одной и той же формы? Если вы это сделаете, я бы предложил объединить требуемые свойства в одном классе, так как они принадлежат к одной и той же форме.

+0

Я думал в этом решении, но я должен уважать свою концепцию! я не могу добавить класс, который у меня нет в моем digram классов – Somar