2013-04-02 14 views
12

In realtà la mia applicazione ha Spring MVC ...come visualizzare l'attributo del modello in jsp utilizzando Spring MVC?

Ho User.jsp, in questo sto creando un modulo vuoto (caselle di testo, area di testo ..) Sono Visualizza il modulo utilizzando il metodo di seguito Nel mio Controller classe. Sotto codice per aggiungere un modulo vuoto su Jsp front-end.

@RequestMapping(value = "user", method = RequestMethod.GET) 
public String user(Model model) throws Exception { 
    model.addAttribute("userForm", new UserForm()); 

    return "profile/user"; 
} 

Ora sto ottenendo UserForm nel database (3 righe).

Quindi .. Come aggiungere l'attributo Model, se aggiungiamo questo è il loro eventuale override dell'attributo model?

Come visualizzare questo attributo di modello in Jsp utilizzando JSTL?

Si prega di suggerire a me io sono bloccato questo punto ..

+3

È possibile accedere a JSP come $ {} userForm.someField – commit

+0

sopra il codice dà forma vuota, ma come aggiungere un altro attributo di modello per lo stesso modulo? –

risposta

16

è possibile aggiungere all'elenco dei userFomrs come modello attributo

List<UserForm> userForms = yourDatabaseCall(); 
model.addAttribute("userForms", userForms);  

In JSTL si può scorrere su di esso

<c:forEach items="${userForms}" var="userForm">  
    // Do something 
</c:forEach> 
+0

È il loro stesso esempio per lo stesso problema se disponibile, per favore forniscimi .. –

+0

@NarasimhaKoppadi: Prova il modo suggerito e torna se ricevi qualche errore particolare. – xyz

12

Codice di esempio

class UserForm { 
    private String name; 
    private String address; 

    //setter and getter 

} 

nel controller

@RequestMapper(value="/user") 
    public ModelAndView user(){ 
     ModelAndView mav = new ModelAndView("userForm") ; 
     List<UserForm> userForms = yourDatabaseCall(); 
     mav.addObject("userForms", userForms); 
     return mav;`` 
    } 

nella pagina JSP:

<c:forEach items="${userForms}" var="userForm">  
    <c:out value="${userForm.name}"/> 
    <c:out value="${userForm.address}"/> 
</c:forEach> 
+0

Ascolta sto aggiungendo due volte e ha annullato (il primo è visualizzato lo scopo del modulo vuoto il secondo è i dati del database) –

+0

Due volte la richiesta passa allo stesso metodo nel controller..Se l'Elenco è vuoto, il display mostra il modulo vuoto . Altrimenti il ​​modulo contiene i dati – raj

+0

Corretto .. sta mostrando .. ma il database ha due valori così da visualizzarli anche nella pagina due volte .. è corretto o no? se è corretta la mia pagina ha solo un modulo. –

Problemi correlati