Comment faire pour afficher les valeurs d'une liste de tableaux qui est définie dans la page JSP en utilisant la JSTL
J'ai une liste de tableaux qui est définie dans un scriptlet dans une JSP. Dans la section de corps, je veux afficher les éléments à l'aide d'un JSTL boucle forEach.
Après être passé par le biais de tutoriels comme cette une, j'ai écrit le code suivant:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.ArrayList" %>
<%
ArrayList<String> fruits = new ArrayList<String>();
fruits.add("Orange");
fruits.add("Apple");
%>
<html>
<head>
<title>JSTL</title>
</head>
<body>
<c:forEach var="fruit" items="${fruits}">
<c:out value="${fruit}" />
</c:forEach>
</body>
</html>
Mais j'obtiens une page blanche. Où vais-je mal dans le code ci-dessus?
Tous les tutoriels que j'ai pu trouver semblent définir une liste de tableaux de haricots dans la servlet et les passer à la page JSP à travers le request
. Dans la boucle forEach, ils utilisent c:out
et ${bean.prop}
pour l'imprimer. Je n'ai pas essayé en tant que tel. Je voulais faire quelque chose de beaucoup plus simple, mais n'arrive pas à obtenir ce code fonctionne.
${}
choses) qui trouve. Commencer à stackoverflow.com/tags/el/infoBalusC, merci pour le lien. Il a donné une explication claire de l'endroit où il cherche les objets.
Vous êtes les bienvenus. Quant à la JSTL, regarde stackoverflow.com/tags/jstl/info (vous pouvez trouver ces balise pages wiki par survol de la balise jusqu'à ce qu'un noir boîte de montre en haut et en cliquant sur celle-ci, info lien). Quant à la question concrète, vous devriez vraiment être à l'aide d'un prétraitement de servlet (vous devriez éviter d'utiliser des
<% %>
en JSP). Voir le 2ème exemple hello world stackoverflow.com/tags/servlets/infoOriginalL'auteur | 2013-02-07
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour mettre le réseau à la demande. Faire de ce droit, après le dernier fruits.appel add ().
request.setAttribute()
peut être utilisé dans les balises JSTL? De quelle autre façon puis-je définir ensemble les objets de sorte qu'ils sont disponibles pour une utilisation dans les balises JSTL?Quel est le
page
portée?Tout ce travail, il n'est pas adapté comme une meilleure pratique. Connexes: Comment faire pour éviter de Code Java dans les pages JSP-Fichiers?
Luiggi, je suis d'accord, ce n'est pas une bonne pratique. Tout ce que je voulais faire était de répondre à l'OP question directe sans entrer dans la façon de mettre en œuvre des applications web en utilisant l'un des nombreux Java web de piles disponibles.
Paul,
page
portée sera certainement le travail. Le seul inconvénient, c'est que si la JSP ne un en avant ou de les rediriger, la variable ne sera pas disponible pour la suite des JSP. Donc, c'est une distinction importante pour les OP de comprendre avant qu'il utilisepage
portée.OriginalL'auteur mightyrick
ajouter pageContext.setAttribute("fruits", fruits);
OriginalL'auteur SaK
plus simple serait de définir une variable en utilisant et en les utilisant.
Le <%= fruits %> est la liste de tableaux que vous avez créé dans scriptlet.
OriginalL'auteur Abhishek