Rechercher : dans
Par :

JSP et ArrayList

Speap, le 18 oct 2007 à 19:33:12 
 Signaler ce message aux modérateurs

Bonjour,

je débute en développement java appliqué au web, alors excusez-moi par avance si ce que je dis n'est pas très compréhensible...

Tout d'abord, voici ce que je veux faire:
un servletController est initialisé dès l'appel par le navigateur, et va chercher en base de données des informations. Je possède deux classes BeanModel: BlogBeanModel et SiteBeanModel, sachant que SiteModelBean contient une ArrayList de type BlogBeanModel (les deux classes dans un package nommé blogMotor). Après avoir été chercher les infos en bases, la servlet "rempli" les BeanModel, je dispose alors d'une instance de classe siteBeanModel qui comprend des variables dont un ArrayList de BlogBeanModel. Ensuite, je mets dans la requete mon objet siteBeanModel et je forward sur ma page jsp.

Voici mon problème!
Je souhaite donc afficher le contenu de mon ArrayList dans ma JSP. Pour ce faire, j'ai testé deux méthodes:

Méthode 1:

<jsp:useBean id="siteBeanModel" class="blogMotor.SiteBeanModel" scope="request" />
<html>
<head>
<title>Blog-Motor</title>
</head>
<body>
<ul>
<li>idBlog: <jsp:getProperty name="siteBeanModel" property="blogs" /></li>
</ul>
</body>
</html>



Ici, blogs est le nom de l'ArrayList défini dans ma classe SiteBeanModel.
Le problème c'est que la jsp affiche tous les éléments de mon ArrayList tous collés les uns aux autres, mais surtout, mon ArrayList étant de type BlogBeanModel, il me les affiche en tant qu'objet, et j'aimerai pouvoir effectuer un get sur chaque élément de l'ArrayList afin d'accéder à la ressource qui m'intéresse.

Après des recherches sur internet, j'ai décidé d'utiliser les libs de struts.

Méthode 2:

<%@taglib prefix="logic" uri="/WEB-INF/tlds/struts-logic.tld" %>
<html>
<head>
<title>Blog-Motor</title>
</head>
<body>
<ul>
<logic:iterate id="myString" name="siteBeanModel.blogs" scope="request">
<bean:write name="myString"/>
</logic:iterate>
</ul>
</body>
</html>


Ici, j'ai suffixé siteBeanModel par blogs, vu que blogs est le ArrayList sur lequel je souhaite itérer, mais lorsque j'essaie d'afficher quelque chose dans mon navigateur, j'ai une erreur :

cause mère

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean siteBeanModel.blogs in scope session


Pourtant siteBeanModel est bien en session... Il ne serait donc pas possible de suffixé un élément en session ?

Je précise que j'utilise Tomcat 6, je suis sous Windows XP SP2, Firefox 2.0.0.7

J'espère avoir été assez précis !!
Merci !

Configuration: Windows XP
Firefox 2.0.0.7

Meilleures réponses pour « JSP et ArrayList » dans :
Les expressions de Java Server Pages (JSP) Voir Qu'est-ce qu'une expression JSP Les expressions JSP permettent d'insérer simplement des chaînes de caractères générées dynamiquement dans la page HTML. La syntaxe d'une expression JSP est la suivante : L'expression suivante...
Les directives de Java Server Pages (JSP) Voir Présentation des directives JSP Les directives JSP sont des instructions insérées dans des tags HTML spéciaux. La syntaxe des directives JSP est la suivante : Les directives JSP permettent d'indiquer : le...
Introduction aux Java Server Pages VoirPrésentation des Java Server Pages Les JSP (Java Server Pages) sont un standard permettant de développer des applications Web interactives, c'est-à-dire dont le contenu est dynamique. C'est-à-dire qu'une page web JSP (repérable par l'extension...
Java Server Pages - Les scriptlets VoirPrésentation des scriptlets JSP Une scriptlet JSP est un bloc de code Java compris entre les balises suivantes : Le code Java (qui doit naturellement être valide) présent entre les balises devient le corps de la...