template en jsp

emmy09
template en jsp

Bonjour à vous,

Je veux savoir est ce que c'est possible de travailler avec les templates en jsp, si oui comment ?

Merci d'avance.

Niroken

Bonjour,

De ce que je comprends de ta question, tu voudrais savoir s'il est possible de rensigner une jsp avec le moins de code possible, dans l ideal juste la recupération des propriétées d un objet, comme cela pourrait etre fait avec la librairie smarty en php. (tu me dis si jme trompe).

Pour y répondre, oui c'est possible :

On va supposer que tu as as implémenté un formulaire html, une servlet, et une jsp, respectivement nommés :
formulaire.html
MaServlet.java
MaJsp.jsp

Quand on clique sur le boutton submit du formulaire, il envoit des données à la servlet, (peu importe lesquelles on s'en fiche :) )

Il nous faut un objet au hasard dans lequel on va stocker les données :

package bean;

public class MonBean

  private String mProperty1;
  
  private String mProperty2;
  
  public String getProperty1() {
	return mProperty1;
  }
  
  public String getProperty1() {
    return mProperty2;
  }
  
  public void setProperty1(String pProperty1) {
	mProperty1 = pProperty1;
  }
  
  public void setProperty2(String pProperty2) {
	mProperty2 = pProperty2;
  }

Dans ta servlet tu dois implémenter une de deux méthodes au choix "doGet" ou "doPost" ca donnerait ceci :

protected void doGet(HttpServletRequest pRequest, HttpServletResponse pResponse) throws ServletException, IOException {

MonBean vBean = new MonBean();
vBean.setProperty1(pRequest.getParameter("param1"));
vBean.setProperty2(pRequest.getParameter("param2"));

pRequest.setAttribute("MonBean", vBean);
getServletConfig().getServletContext().getRequestDispatcher("/MaJsp.jsp").forward(pRequest, pResponse);
}

A ce niveau la on a construit un objet de type MonBean , on l'ajoute à la l objet pRequest et on forward la requet et la response a la jsp pour l affichage.

Voici donc a quoi ressemblerait le code de la jsp :

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="bean.MonBean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
  MonBean vBean = (MonBean) request.getParameter("MonBean");
  String vProperty1 = vBean.getProperty1();
  String vProperty2 = vBean.getProperty2();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>UnTitre</title>
</head>
<body>
   <div>Property1 : <%= vProperty1%></div>
   <div>Property2 : <%= vProperty2%></div>
</body>
</html>

A ce niveau la on n'a dans le code de la jsp aucun traitement ormis la récupération des données.
Tout ce qui concerne le traitement a proprement parler doit se faire au niveau de la servlet, qui elle même peut déléguer ca a d autres classes.

Sinon pour la propreté du code des jsp je te conseille de te renseigner sur la jstl, c'est une librairie de tags deja concue en java pour simplifier le développement
des jsp.

Bonne chance,
Niroken

emmy09
re

bonjour Niroken,

Je vous remercie énormément de votre aide,mais c'est pas ce que je veux , en fait ce que je veux c'est l'implémentation des templates prêtes à utiliser sur internet.
J'ai trouvé sur internet des templates(design) en falsh et je veux l'integrer dans mon application web (developpée en jsp).
Merci encore une fois.

nasix

Salut,

Si je comprends bien, tu veux créer une page modèle (template) qui contiendra le squelette de tes pages, et à chaque fois tu ne vas créer que le contenu, et appeler le moteur de template qui va accoupler ton contenu avec ta template pour construire une page.

Ta question alors est : existe-il un moteur de templating en JAVA ?

Si c'est la question : Je pourrais dire qu'il y a le framework Tiles : http://tiles.apache.org/, ou velocity http://velocity.apache.org/tools/devel/struts/(Fourni par Apache si je ne me trompe pas).

Il y'a aussi le framework Bluprints http://bluprints.sourceforge.net/ et LSP : http://lspx.sourceforge.net/

Documentes-toi un peu, et vois ce qui t'aidera le plus dans ton projet.

emmy09
reponse

Salut,

Desolée pour le retard .C'est bien ce que je voulais savoir (le moteur de templating en java) Merci à vous pour l'aide .
Et à bientôt.

Cordialement emmy09