Ajouter un commentaire

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

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 N   N   AA   DDD   H  H  W     W 
NN N A A D D H H W W
N N N AAAA D D HHHH W W W
N NN A A D D H H W W W
N N A A DDD H H W W