# Java > Dveloppement Web en Java > Servlets/JSP >  Include dynamique avec JSP

## zaitsev

Bonjour,

Je travaille avec les jsp. Pour viter la redondance du code et une anarchie dans le projet, je fais des includes. Seulement, j'ai l'impression que l'on peut pas charger des pages dynamiquement, telle que :



```

```

Du coup, je vois pas trop comment faire,  moins de bourer la page jsp avec des if :



```

```

Si quelqu'un a une ide, ca serait cool

----------


## Doudoupe

Comment t'y prends tu pour rcuprer ta String _nomDeLaPage_.
Tu la places dans la request depuis une servlet ?
Tu la dclares depuis ta JSP via scriptlet ?

En tout cas, si tu dfinies la String pageAInclure via une "dclaration scriptlet" comme celle-ci :


```

```

Et que tu fais ton include de cette manire : 


```
<jsp:include page="<%=pageAInclure %>" />
```

Cela fonctionne.
D'o ma question, o est-ce que tu dclares _nomDeLaPage_ ?

_On notera aussi que tu ne peux pas crire du code java dans une JSP hors des balises prvues pour comme tu le fais (aussi bien pour ta dclaration de nomDeLaPage que pour le if/else._


J'ajouterai que si tu as du code java (scriptlet, declaration, expression, EL, jstl...) dans la page que tu inclus, il ne sera pas excut!

Deux solutions:
1) Passer les paramtres utiliss dans la page incluse de cette manire :


```

```

(Ce qui peut tre lourd si tu as beaucoup de paramtres)

2) Utiliser un 'include' un peu diffrent :


```
<%@ include file="pageAInclure.jsp" %>
```

La diffrence est que la deuxime solution va littrarelement copier le contenu de pageAInclure.jsp et excuter le code dans le mme cycle que ta page "principale".

----------


## zaitsev

Tout d'abord merci de ta rponse !

Effectivement le code java doit tr insr entre balises <% %>, je l'ai pas mis dans mon exemple mais je le sais.




> J'ajouterai que si tu as du code java (scriptlet, declaration, expression, EL, jstl...) dans la page que tu inclus, il ne sera pas excut!


Je ne suis pas d'accord, j'ai fait un include basique dans mon code, et dans le fichier inclus je fais un  if(request.getParameter("page".equals("....")) et ca marche nickel donc pas de souci de ce ct l.

En fait, mon besoin vient du fait qu'une servlet m'envoi le nom de la page  afficher, je rcupre ce nom, et je veux l'inclure dynamiquement dans un appel jsp:include.

Autrement dit, je veux inclure une page jsp dans une autre, mais sans savoir  la compilation quelle est cette page.

Tu me parles de la mthode include file mais elle ne marche pas dynamiquement, comme je le souhaiterais :



```

```

Concernant cette solution :



```

```

Elle non plus ne marche pas dynamiquement, puisque je ne peux pas faire :



```

```

Je cherche vraiment  recevoir en paramtre le nom de la page qui doit tre inclus, puis  l'inclure.

Merci quand mme !

----------


## OButterlin

Je veux bien que tu reoives le nom de la page  inclure dans ta servlet, mais il faut tre sr que tu auras toujours un nom valide.
Au niveau de la page, si tu utilises <jsp:include>, la page doit exister.
De ce que je comprends, il faudra traiter une liste de valeurs possibles pour pouvoir, le cas chant, prendre une valeur par dfaut  inclure (quitte  ce que ce soit une page blanche).

Bon, je ne comprends pas trop ton besoin d'include variable, j'ai l'impression que c'est une mauvaise utilisation des servlets et/ou jsp...

Peux-tu prciser la problmatique ?

----------


## zaitsev

Ca ne me parait pas compliqu  comprendre :

1/ Je reois via session ou paramtre le nom de la jsp  afficher

2/ J'inclus ce nom dans un include

Exemple :



```

```

Je peux pas tre plus clair, aprs c'est peut tre pas la bonne faon de faire, c'est pourquoi je demande de l'aide !

----------


## sabrinafr

Bonjour tt le monde,

Quelqu'un a une ide comment peut-on charger des pages jsp dynamiquement  lintrieur d'une page jsp ? ?????????????
merci d'avance

----------

