Servlets Java: pb pour l'execution de SSI

Fermé
Mnu - 14 mai 2002 à 11:46
 HackTrack - 14 mai 2002 à 15:04
Bonjour,

J'ai une page .shtml dans laquelle plusieurs élements se répètent. J'aimerais donc en faire une servlet que je pourrais appeler plusierus fois dans la meme page.

Or, je ne sais pas comment executer une servlet en lui envoyant un paramaètre qui lui permette de savoir comment réagir (avec un SWITCH).

La syntaxte utilisée dans le fichier shtml est: <!-- #include virtual="nom.jhtml" -->

Dans le fichier nom.jhtml, on retrouve uniquement: <SERVLET CODE="Pouet"></SERVLET>

Bref, l'idéal serait que je puisse executer directement depuis le fichier shtml ma servlet pouet, avec un parametre...

Si vous avez la solution....

Mnu
A voir également:

1 réponse

Utilise alors:
- une Servlet qui génére les objets qui devront être affichés et qui les stockent dans un Java Bean puis qui "forwarde" la requête vers une JSP.

- Dans la JSP, tu fais appel à un "custom tag" (voir le site de Sun pour la doc: il te faudra créer une librairie de "tags", une classe par "tag" que tu veux appeler) qui sera exécuté "at runtime" lorsque le tag sera rencontré dans la page.


Exemple:

Dans la JSP d'entrée de ton application:
<%@page contentType="text/html"%>
<%@page import="model.User"%>
<%@taglib uri="/WEB-INF/HackTrack.tld" prefix ="track"%>
.
.
.
<jsp:useBean id="user" scope="session" class="model.User" />

Dans ta servlet:
public void doPost(HttpServletRequest request, HttpServletResponse response){

User currentUser = (User)request.getSession.getAttribute("user");
currentUser.setFirstName("Hack");
currentUser.setLatName("Track");
getServletConfig().getServletContext().getRequestDispatcher("/jsp/myJsp").forward(request, response);
}



Dans la JSP "myJsp":

<%@page contentType="text/html"%>
<%@page import="model.User"%>
<%@taglib uri="/WEB-INF/HackTrack.tld" prefix ="track"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>HackTrack Demo</title>
</head>

<body>
<jsp:useBean id="user" scope="session" class="model.User" />

//schoolReports est la librairie
//schoolView est un des tags de cette librairie
//firstName et lastName sont les deux paramètres passés
<schoolReports:schoolView firstName="%=user.getFirstName();" lastName="%=user.getFirstName();" />

Pas assez de place ici pour totu détaillé, mias cette manière est la plus propre, la plus réutilisable (bref, la plus orientée-objet) de coder.

Va voir à cette adresse:
http://developer.java.sun.com/developer/technicalArticles/xml/WebAppDev3/


;-)
HackTrack
0