Affichage de la liste des valeurs sur JSP à l'aide de Printemps
Je voudrais afficher ma Liste de valeurs dans ma jsp vue, mais je ne suis pas capable de faire cela.
Voici mon contrôleur de classe ci-dessous, qui est seulement ajouter de la Liste à la ModelAndView
carte et qu'il redirige vers mon index.jsp
page.
EmployeeController
@Controller
public class EmployeeController {
@RequestMapping(value={"/employee"}, method = RequestMethod.GET)
public String listEmployee(){
System.out.println("Kontroler EmployeeController");
LinkedList<String> list = getList();
ModelAndView map = new ModelAndView("index");
map.addObject("lists", list);
return map.getViewName();
}
private LinkedList<String> getList(){
LinkedList<String> list = new LinkedList<>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
return list;
}
}
index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome to Spring Web MVC project</title>
</head>
<body>
<h1>Index page</h1>
<h1>${msg}</h1>
<a href="/MavenHello/employee">Zaměstnanci</a>
</body>
<c:if test="${not empty listEmployee}">
<ul>
<c:forEach var="listValue" items="${listEmployee}">
<li>${listValue}</li>
</c:forEach>
</ul>
</c:if>
Je suis en mesure d'accéder à la manette, parce que chaque fois que j'ai frappé "Zaměstnanci"
, le System.out.println("Kontroler EmployeeController")
imprime "Kontroler EmployeeController"
dans Tomcat Journal, mais le index.jsp
page est vide.
S'il vous plaît, quelqu'un peut-il me donner un conseil?
OriginalL'auteur Stepan Mocanu | 2017-02-05
Vous devez vous connecter pour publier un commentaire.
Que vous remplissez
ModelAndView
retour ModelAndView lui-même et de ne pascarte.getViewName()
qui retourne uniquement le nom de la nom en l'absence de données comme indiqué dans les docs:comme suit:
Deuxièmement, il vous manque de balises jstl
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
sur votre page d'index et de la variable nom que vous avez donné à la liste des "listes" donc itérer sur des "listes" plutôt que "listEmployee", comme suit:Aussi, assurez-vous d'avoir JSTL dépendance dans votre classpath:
OriginalL'auteur Arpit
Juste ajouter
Model
à votre méthode de contrôleur params puis ajouter un attribut à ce modèle.Un moyen de plus pour ce faire, est de retour
ModelAndView
au lieu deString
Il suffit de choisir ce qui est mieux pour vous.
Et aussi changer
listEmployee
dans votre page index delists
comme dans leModelAndView
vous avez un attribut commelists
pas listEmployee`.désolé, j'ai eu une faute de frappe. Dans le premier cas, vous devez avoir notre méthode de Chaîne de retour. Je l'ai changé déjà la réponse
OriginalL'auteur Sergii Bishyr
Changer le nom de la clé et de l'essayer :
listEmployee --> lists as you are setting it as map.addObject("lists", list);
OriginalL'auteur Barath