2016-04-07 4 views
0

Spring MVC'de oldukça yeniyim ve bir denetleyici yöntemine bir form gönderen bir komut nesnesi doldurmaya çalışırken aşağıdaki sorun var. Bu komut nesne sınıfı Step2Form adında varBu Spring MVC uygulamasında neden bir komut nesnesinin gönderilen bir forma ilişkin özellikleri geçersizdir?

:

Yani şu durum var

bir görünüm içine bu formu eşler
public class Step2Form { 

    String nome; 
    String cognome; 
    int giornoNascita; 
    int meseNascita; 
    int annoNascita; 
    String nazioneNascita; 
    String regioneNascita; 
    String provinciaNascita; 
    String comuneNascita; 
    String sesso; 
    String eMail; 
    String confermaEmail; 
    String trattamentoDatiPersonali; 
    public String getNome() { 
     return nome; 
    } 
    public void setNome(String nome) { 
     this.nome = nome; 
    } 
    public String getCognome() { 
     return cognome; 
    } 
    public void setCognome(String cognome) { 
     this.cognome = cognome; 
    } 
    public int getGiornoNascita() { 
     return giornoNascita; 
    } 
    public void setGiornoNascita(int giornoNascita) { 
     this.giornoNascita = giornoNascita; 
    } 
    public int getMeseNascita() { 
     return meseNascita; 
    } 
    public void setMeseNascita(int meseNascita) { 
     this.meseNascita = meseNascita; 
    } 
    public int getAnnoNascita() { 
     return annoNascita; 
    } 
    public void setAnnoNascita(int annoNascita) { 
     this.annoNascita = annoNascita; 
    } 
    public String getNazioneNascita() { 
     return nazioneNascita; 
    } 
    public void setNazioneNascita(String nazioneNascita) { 
     this.nazioneNascita = nazioneNascita; 
    } 
    public String getRegioneNascita() { 
     return regioneNascita; 
    } 
    public void setRegioneNascita(String regioneNascita) { 
     this.regioneNascita = regioneNascita; 
    } 
    public String getProvinciaNascita() { 
     return provinciaNascita; 
    } 
    public void setProvinciaNascita(String provinciaNascita) { 
     this.provinciaNascita = provinciaNascita; 
    } 
    public String getComuneNascita() { 
     return comuneNascita; 
    } 
    public void setComuneNascita(String comuneNascita) { 
     this.comuneNascita = comuneNascita; 
    } 
    public String getSesso() { 
     return sesso; 
    } 
    public void setSesso(String sesso) { 
     this.sesso = sesso; 
    } 
    public String geteMail() { 
     return eMail; 
    } 
    public void seteMail(String eMail) { 
     this.eMail = eMail; 
    } 
    public String getConfermaEmail() { 
     return confermaEmail; 
    } 
    public void setConfermaEmail(String confermaEmail) { 
     this.confermaEmail = confermaEmail; 
    } 
    public String getTrattamentoDatiPersonali() { 
     return trattamentoDatiPersonali; 
    } 
    public void setTrattamentoDatiPersonali(String trattamentoDatiPersonali) { 
     this.trattamentoDatiPersonali = trattamentoDatiPersonali; 
    } 


} 

: Finnally

 <form id="reg-form" name="reg-form" action="<@spring.url '/iscrizioneStep3' />" method="post"> 

      <fieldset> 

       <div class="form-group"> 
        <label for="name">Nome <span aria-hidden="true">*</span>:</label> 
        <input type="text" id="name" name="name" class="form-control input-mm" placeholder="Inserisci il tuo nome" data-validation="[NOTEMPTY]" data-validation-label="nome" aria-required="true" tabindex="10"> 
       </div> 

       <div class="form-group"> 
        <label for="surname">Cognome <span aria-hidden="true">*</span>:</label> 
        <input type="text" id="surname" name="surname" class="form-control input-mm" placeholder="Inserisci il tuo cognome" data-validation="[NOTEMPTY]" data-validation-label="cognome" aria-required="true" tabindex="20"> 
       </div> 

       <div class="form-group grouped"> 
        <label>Data di nascita <span aria-hidden="true">*</span>:</label> 
        <div class="row"> 
         <div class="col-xs-3 col-md-4"> 
          <select id="birth-day" name="birth-day" class="form-control selectpicker select-mm" title="Giorno" data-validation="[NOTEMPTY, INTEGER]" data-validation-label="giorno di nascita" aria-label="seleziona il giorno di nascita" aria-required="true" tabindex="30"> 
           <option value="01">01</option> 
           <option value="02">02</option> 
           <option value="03">03</option> 
          </select> 
         </div> 
         <div class="col-xs-5 col-md-5"> 
          <select id="birth-month" name="birth-month" class="form-control selectpicker select-mm" title="Mese" data-validation="[NOTEMPTY, INTEGER]" data-validation-label="mese di nascita" aria-label="seleziona il mese di nascita" aria-required="true" tabindex="40"> 
           <option value="01">Gennaio</option> 
           <option value="02">Febbraio</option> 
           <option value="03">Marzo</option> 
          </select> 
         </div> 
         <div class="col-xs-4 col-md-3"> 
          <select id="birth-year" name="birth-year" class="form-control selectpicker select-mm" title="Anno" data-validation="[NOTEMPTY, INTEGER]" data-validation-label="anno di nascita" aria-label="seleziona l'anno di nascita" aria-required="true" tabindex="50"> 
           <option value="2000">2000</option> 
           <option value="1999">1999</option> 
           <option value="1998">1998</option> 
          </select> 
         </div> 
        </div> 
       </div> 

       <div class="form-group"> 
        <label for="country">Nazione di nascita<span aria-hidden="true">*</span>:</label> 
        <select id="country" name="country" class="sel-dynamic sel-haschild form-control selectpicker select-mm" title="Seleziona la nazione" data-validation="[NOTEMPTY]" data-validation-label="nazione" aria-required="true" tabindex="60"> 
         <option value="italy">Italia</option> 
         <option value="estero">Estero</option> 
        </select> 
       </div> 

       <div class="form-group"> 
        <label for="region">Regione di nascita<span aria-hidden="true">*</span>:</label> 
        <select id="region" name="region" class="sel-dynamic sel-haschild form-control selectpicker select-mm" title="É necessario selezionare una regione..." data-validation="[NOTEMPTY]" data-validation-label="regione" data-choice="Seleziona la regione" aria-required="true" disabled tabindex="70"> 
         <option disabled value="0">&nbsp;</option> 
        </select> 
       </div> 

       <div class="form-group"> 
        <label for="district">Provincia di nascita<span aria-hidden="true">*</span>:</label> 
        <select id="district" name="district" class="sel-dynamic sel-haschild form-control selectpicker select-mm" title="É necessario selezionare una provincia..." data-validation="[NOTEMPTY]" data-validation-label="provincia" data-choice="Seleziona la provincia" aria-required="true" disabled tabindex="80"> 
         <option disabled value="0">&nbsp;</option> 
        </select> 
       </div> 

       <div class="form-group clearfix"> 
        <label for="municipality">Comune <span aria-hidden="true">*</span>: </label> 
        <select id="municipality" name="municipality" class="sel-dynamic form-control selectpicker select-mm" title="É necessario selezionare un comune..." data-validation="[NOTEMPTY]" data-validation-label="comune" data-choice="Seleziona un comune" aria-required="true" disabled tabindex="90"> 
         <option disabled value="0">&nbsp;</option> 
        </select> 
       </div> 

       <div class="form-group"> 
        <label>Sesso <span aria-hidden="true">*</span>:</label> 
        <div class="genderbg clearfix"> 
         <label id="label-gender-m" class="radio-inline pull-left"> 
          <input id="gender-m" type="radio" name="gender" value="m" data-validation="[NOTEMPTY]" data-validation-label="sesso" aria-label="scelta sesso maschio" tabindex="100">Maschio 
         </label> 
         <label id="label-gender-f" class="radio-inline pull-right"> 
          <input id="gender-f" type="radio" name="gender" value="f" aria-label="scelta sesso femmina" tabindex="110">Femmina 
         </label> 
        </div> 
       </div> 

       <div class="form-group"> 
        <label for="email">Email <span aria-hidden="true">*</span>:</label> 
        <input type="text" id="email" name="email" class="form-control input-mm" placeholder="Esempio: [email protected]" data-validation="[NOTEMPTY, EMAIL]" data-validation-label="email" aria-required="true" tabindex="120"> 
       </div> 

       <div class="form-group"> 
        <label for="email-confirm">Conferma Email <span aria-hidden="true">*</span>:</label> 
        <input type="text" id="email-confirm" name="email-confirm" class="form-control input-mm" data-validation="[NOTEMPTY, V==email]" data-validation-label="conferma email" aria-required="true" tabindex="130"> 
       </div> 

       <div class="form-group"> 
        <label>Termini e condizioni:</label> 
        <p class="small">Dichiaro di aver letto e di accettare le <a href="#" title="Condizioni generali del servizio" tabindex="140">condizioni generali</a></p> 
        <label id="label-gencond" class="radio-inline"> 
         <input id="gencond" type="radio" name="gencond" value="y" data-validation="[NOTEMPTY]" data-validation-label="termini e condizioni" tabindex="150"><strong>Accetto</strong> 
        </label> 
       </div> 

       <div class="form-group"> 
        <label>Trattamento dei dati personali:</label> 
        <p class="small">I dati raccolti saranno utili a soddisfare le tue richieste, a migliorare i nostri servizi e a poterti comunicare le nostre novità.<br> 
        Leggi l' <a href="" title="Informativa sulla privacy" tabindex="160">informativa sulla privacy</a> e, se vuoi, presta il consenso.</p> 
        <label id="label-privacy-y" class="radio-inline"> 
         <input id="privacy-y" type="radio" name="privacy" value="y" data-validation="[NOTEMPTY]" data-validation-label="privacy" tabindex="170"><strong>Accetto</strong> 
        </label> 
        <label id="label-privacy-n" class="radio-inline"> 
         <input id="privacy-n" type="radio" name="privacy" value="n" tabindex="180"><strong>Non Accetto</strong> 
        </label> 

       </div> 

       <button type="submit" class="btn btn-block submit-btn" aria-label="prosegui la registrazione" tabindex="190">Passaggio 3</button> 

      </fieldset> 

     </form> 

Ben Önceki formun gönderimini işleyen bu denetleyici yöntemine sahip olmalısınız:

@RequestMapping(value = "/iscrizioneStep3", method=RequestMethod.POST) 
public String iscrizioneStep3(@ModelAttribute("SpringWeb")Step2Form step2Form, ModelMap model, HttpServletRequest request) { 

    System.out.println("INTO iscrizioneStep3()"); 
    System.out.println("NOME: " + step2Form.getNome()); 


    return "iscrizioneStep3"; 
} 

Ben iscrizioneStep3() girmek formu gönderdiğinizde yöntem ama sorun gerçekleştirmek için gittiğinde olmasıdır:

:

System.out.println("NOME: " + step2Form.getNome()); 

bu benim Eclipse konsolunda elde budur

19:39:00,874 INFO [stdout] (http-localhost/127.0.0.1:8080-1) NOME: null 

Bu nedenle, komut neslimin nome alanını ayarlamamıştır.

Neden? Yanlış olan ne? Neyi kaçırıyorum? Bu durumu nasıl düzeltebilirim?

+0

hiçbir parametre 'nome' parametre vardır name' 'olmadığından ... Yani hiçbir şey bağlı olmayacak. –

cevap

0
<input type="text" id="name" name="name" class="form-control input-mm" placeholder="Inserisci il tuo nome" data-validation="[NOTEMPTY]" data-validation-label="nome" aria-required="true" tabindex="10"> 
      </div> 

<input type="text" id="nome" name="nome" class="form-control input-mm" placeholder="Inserisci il tuo nome" data-validation="[NOTEMPTY]" data-validation-label="nome" aria-required="true" tabindex="10"> 
      </div> 

olmalı ya da ben burada başka bir şey eksik?

Javascipt bahar "tester" adlı bir değişkene haritalandırmalıdır "isim" sınıfındaki uygun değişkene özniteliği (<input type="hidden" name="tester" /> tarafından alanları eşler.

İlgili konular