Bonjour,

Descripition de situation :

index.jsp est une page contenant Un petit formulaire (Nom,Prenom + bouton) quand je clike sur ce bouton , on se dirige vers traite.java qui est une servlet qui va traiter la validité des Deux champs.
Si le teste est bon --- > se diriger vers la page Acceuil.jsp
Sinon je retourne à ma page index.jsp en Colorant les champs qui ne sont pas valide et aussi garder les valeurs des champs qui sont valide.

Je vous liste les 2 pages JSP , la srevlet :

Page : index.jsp
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
 
<%@page contentType="text/html" 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>
	<style type="text/css">
                #err{
                        background-color : red;
                }
        </style>
</head>
<body>
    <%String champ1 = "";
        String champ2 = "";
                champ2 = request.getAttribute("Champ2").toString();
                champ1 = request.getAttribute("Champ1").toString();
 
                if(champ1 == null){
                 champ1 = "";
                 champ2 = "";
                }
     %>
 
    		<form action = "traite" method = "post">
                Nom : <input <% if(champ1.equals("")) out.print("id = \"err\""); %> name = "NomChamp1" type = "text" value = "<%= champ1%>">
				<br>
                Prénom : <input <% if(champ1.equals("")) out.print("id = \"err\""); %> name = "NomChamp2" type = "text" value = "<%= champ2%>">
				<br>
				<input type = "submit" name = "envoyer" value = "Envoyer">
			</form>
 
 
</body>
</html>
Servlet : traite.java
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
 
public class traite extends HttpServlet {
  public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {
 
 
        String Str1 = request.getParameter("NomChamp1");
        String Str2 = request.getParameter("NomChamp2");
 
        request.setAttribute("Champ1",Str1);
        request.setAttribute("Champ2",Str2);
 
        if(Str1.equals("") || Str2.equals("")){
            String nextJSP = "/index.jsp";
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
            dispatcher.forward(request,response);
        }       
        else{
        String nextJSP = "/acceuil.jsp";
        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
        dispatcher.forward(request,response);
        }
 
    } 
 
}
Page : Acceuil.jsp
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
 
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>BienVenue</h1>
        <hr>
        <%
       String champ2 = request.getAttribute("Champ2").toString();
       String champ1 = request.getAttribute("Champ1").toString();
     %>
 
                Nom : <%= champ1%>
				<br>
				Prénom : <%= champ2%>
 
 
 
    </body>
</html>

Le Problème !

Voilà le message D'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14

description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

exception

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:17

14: <body>
15:     <%String champ1 = "";
16:         String champ2 = "";
17:                 champ2 = request.getAttribute("Champ2").toString();18:                 champ1 = request.getAttribute("Champ1").toString();
19: 
20:                 if(champ1 == null){
Alors, c'est logique que dans le premier Loading de la page, on ne peut pas parler de request.getAttributte("....."); puisque cette information est bien évidement retournée par la servlet . Je suis assez Débutante en J2EE et je connais pas une méthode pour réussir ce teste .

Veuillez s'il vous plaît me corriger ce code , soit me proposer une autre Solution , et je serai très redevable .

Sisiniya.