Architecture pour appel de JSP
Bonjour,
Aujourd'hui j'ai un problème sur lequel je planche depuis quelques jours sans trouver de solution... Parce que j'ai du mal à le formuler...
Pour le simplifier au maximum, disons que j'ai la page jsp suivante :
index.jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>page</title>
</head>
<body>
<%@ include file="content.jsp" %>
</body>
</html> |
Simplifié au maximum car cette page contient le header, login, le nav, le footer...
Mais ce sont des éléments plus ou moins fixes.
Mon "problème" est que content.jsp... est dynamique. Si je suis sur la page d'accueil, il doit m'afficher le message de bienvenue.
Si je suis sur la page FAQ, il doit m'afficher les questions/réponses
Si je suis sur la page Contact, un formulaire ...
Oui mais je le fais comment ? :s
J'ai voulu faire ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| <%
/* On recupere le parametre de page a afficher */
page = request.getParameter("page");
if ("index".equals(page) || page == null ){ %>
<%@ include file="/accueil.jsp" %>
<%}else if("temp".equals(page)){ %>
<%@ include file="/temp.jsp" %>
<%}else{ %>
<%@ include file="/404.jsp" %>
<%} %> |
Ca fonctionne certes... Mais ça me semble hyper crade et je pense qu'on doit pouvoir faire autrement avec les servlets.
De plus, ça oblige à mettre du code conditionnel tout partout, ça devient horrible à lire...
Mais le fait est que je ne sais pas comment changer le contenu de content.jsp dynamiquement.
A la base, j'avais plus un truc style page_haut.jsp, page_bas.jsp...
page_haut.jsp
Code:
1 2 3 4 5 6 7 8 9
| <?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>page</title>
</head>
<body> |
page_bas.jsp
j'avais ma page toto.jsp qui incluait les deux et voilà, aucun problème.
Sauf que là, c'était sémantiquement incorrect pour les fichiers en eux même, on ouvrait des balises sans les fermer et tutti quanti...
Et puis ça n'a pas été validé au dessus de moi.
Donc j'aimerai savoir comment faire...
Si vous aviez des idées, des pistes, des façons de faire...
Merci à vous,