|
Cadre Fonctionnel |
Développement de JSP et exploitation de template |
|
Cadre Technique |
NT/WebLogic 6.1 |
|
Identifiant |
SYS_JSP_03 |
|
Référent technique |
|
|
Version |
1.0 |
|
Auteur |
Alexandre Brillant |
|
Date |
23/10/01 |
| Source |
Documentation WebLogic 6.1 |
Un template sert à simplifier le processus de construction d'une page. Il définit un modèle de présentation JSP avec des zones de données que l'utilisateur complète en exploitation.
Les avantages :
Pas de répétition de code JSP et HTML
Simplification du processus de développement
Limitation de la portée d'une conception
Simplification du contrôle de fonctionnement
Évolution avec un impact moindre
Exploitation d'une technologie standard à base de tagLib
Un mécanisme de template repris est proposé sur le site de sun http://developer.java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates/. Ce mécanisme fonctionne à base de tagLib avec trois types de tag :
insert : Tag représentant l'insertion d'un template.
put : Tag représentant la mise à jour d'une partie du template
get : Tag associé à un template contenant une donnée à mettre à jour par put.
Les données mise à jour dans un template peuvent être :
Du texte (attribut direct de put à true)
Une page JSP ou une page HTML
Exemple de définition du template :
<%-- ***************** JSP DIRECTIVE ****************** --%>
<%--
Auteur : Alexandre Brillant
Date de creation : 18/10/01
Version : 1.0
Role : Exploitation de template
--%>
<%@ page language="java" info="Template"
contentType="text/html; charset="iso-8859-1""
isErrorPage="false" errorPage=""error.jsp"" %>
<%@taglib uri="template.tld" prefix="template"%>
<%-- ******************* HTML ***************** --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<meta http-equiv="Content-Language" content="fr">
<title><template:get name='titre'/></title>
<link href="style.css" rel="stylesheet"
type="text/css">
</head>
<body>
<template:get name="contenu"/>
</body>
</html>
|
Ce template contient deux champs titre et contenu. Le premier correspondra à un texte simple, tandis que le second représentera une autre page HTML.
Pour exploiter ce template, il est important de modifier le fichier web.xml présent dans le répertoire WEB-INF avec au moins :
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<taglib>
<taglib-uri>template.tld</taglib-uri>
<taglib-location>
/WEB-INF/lib/template.jar
</taglib-location>
</taglib>
</web-app>
|
Ce fichier est valable pour toute exploitation de template.
Exemple d'exploitation du template :
<%-- ***************** JSP DIRECTIVE ****************** --%> <%-- Author : Alexandre Brillant Creation Date : 18/10/01 Version : 1.0 Role : Exploitation de template --%> <%@ page language="java" info="Test" contentType="text/html; charset="iso-8859-1"" isErrorPage="false" errorPage=""error.jsp"" %> <%@taglib uri="template.tld" prefix="template"%> <template:insert template="template.jsp"> <template:put name="titre" content="Résultat template" direct=""true"/> <template:put name="contenu" content="page1.htmll"/> </template:insert> |
Cet exemple va permettre la génération d'une page HTML avec en titre Résultat template et en contenu la page page1.htmll. Le contenu peut être une page HTML ou une autre page JSP.
L'attribut direct avec la valeur « true » est obligatoire pour les valeurs textuelles.