Bonsoir, alors je suis entrain de coder mon projet qui se résume en un site web de location voiture avec J2EE dans le quel j'ai une page recherche.jsp qui est un formulaire qui permet d'introduire la matricule de le voiture et les dates de retour et de départ pour le but de calculer le prix pour cette durée sachant que j'ai une base location contenant les tables voitures et client, mais en codant dans la page prix.jsp pour calculer le prix un erreur apparaîtra :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
type Exception report
 
message
 
description The server encountered an internal error () that prevented it from fulfilling this request.
 
exception
 
org.apache.jasper.JasperException: /prix.jsp(11,1) Page directive must not have multiple occurrences of pageencoding
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
	org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:193)
	org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:608)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Validator.validateDirectives(Validator.java:1723)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:182)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
et voilà la page prix.jsp qui traite les test:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<%@page import="java.util.StringTokenizer"%>
<%@page import="persistance.Voiture"%>
<%@page import="java.util.List"%>
<%@page import="persistance.VoitureHome"%>
<%@page import="java.util.Locale"%>
<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<jsp:useBean id="formPrix" class="persistance.FormPrix"></jsp:useBean>
<jsp:setProperty property="*" name="formPrix"/>
	<% Locale currentLocale = new Locale("en","US");
VoitureHome voitureHome = new VoitureHome();
	List<Voiture> listV= voitureHome.findByCriteria(formPrix.getMatricule());
	Voiture v = listV.get(0);
	String prixStr = v.getPrix();
	int prix = Integer.parseInt(prixStr); 
	out.println(prix);
String msg;
 
	SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd",currentLocale);
	String dateDepartString = sdf.format(new Date(formPrix.getDateDepart()));
	String dateRetourString=sdf.format(new Date(formPrix.getDateRetour()));;
	Date dateD = sdf.parse(dateDepartString);
	Date dateR = sdf.parse(dateRetourString);
	double nbre = voitureHome.getDaysBetweenDates(dateD, dateR);
	msg = "Le prix de location est  ";
	out.println("<H2>"+msg+nbre*prix+"</H2>");
	%>
</body>
</html>
et aussi voilàle Bean que j'ai utilisé pour la transfert des données entre le formulaire et la page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package persistance;
 
public class FormPrix {
 
	private String matricule;
	private String dateDepart;
	private String dateRetour;
	public FormPrix() {
		// TODO Auto-generated constructor stub
	}
	public String getDateDepart() {
		return dateDepart;
	}
	public void setDateDepart(String dateDepart) {
		this.dateDepart = dateDepart;
	}
	public String getMatricule() {
		return matricule;
	}
	public void setMatricule(String matricule) {
		this.matricule = matricule;
	}
	public String getDateRetour() {
		return dateRetour;
	}
	public void setDateRetour(String dateRetour) {
		this.dateRetour = dateRetour;
	}
}
avez une idée et merci