j'ai une page html et page jsp et je veux controler la saisies des champs
la page html contient un formulaire je veux afficher message devant chaque type="text" ,par exemple si agent ne saisie pas ou oublie de saisir le nom alors un message sera afficher d'erreur devant la case
<%
if (request.getParameter("ok1") != null && request.getParameter("ok2") != null)
{
out.println("<tr><td colspan="0">Veuillez remplir le nom et le prénom!!</td></tr>");
}else
{
if (request.getParameter("ok1") != null)
{
out.println("<tr><td colspan="0">Veuillez remplir le nom!!</td></tr>");
}
if (request.getParameter("ok2") != null)
{
out.println("<tr><td colspan="0">Veuillez remplir le prénom!!</td></tr>");
}
}
%>
Pourquoi utiliser une page html et jsp: c'est sensiblement la même chose. Je pense qu'il vaudrait mieux passer par une jsp qui affiche les champs de saisis et une servlet qui gère les informations transmises.
Voici les codes des 2 pages :
Dans la jsp(connexion.jsp par exemple):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Messages</title></head>
<form action="jagent" method="post">
<%
if (request.getParameter(\"ok\") != null)
{
out.println(\"----
Veuillez remplir tous les champs!!, \");
}
%>
----
Nom,
,
----
Prénom,
</form>
</html>
Et pour la servlet qui va controler si les champs sont remplis (si oui: connexion a la base, si non: retour à la jsp) (jagent.java):
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
if (nom.equals("") || prenom.equals("")) {
response.sendRedirect("connexion.jsp?ok=true");
} else {
//Connexion base de donnée etc...
}
Voila, j'espère que tu comprendras, sinon n'hésites pas à poser des questions.
merci je m'avance mais comment faire tester si le nom est vide afficher message Veuillez remplir le Nom"
sinom si le prénpm est vide afficher message "Veuillez remplir le prénom"
car ça fonctionne pas le teste :
if (nom.equals("") ){
response.sendRedirect("exemple.jsp?ok1=true");
}
else if (prenom.equals(""))
{
response.sendRedirect("exemple.jsp?ok2=true");
}
/**
* Servlet implementation class test
*/
@WebServlet("/test")
public class test extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public test() {
super();
// TODO Auto-generated constructor stub
}
Je pense que le problème vient du fait que la page .jsp s'appelle exemple, le programme démarre par défaut sur index.jsp.
2 solutions:
1) Renommer exemple.jsp par index.jsp et changer les renvoi a cette page dans la servlet
2) Créer le fichier web.xml qui dira que le programme doit lancer exemple.jsp par défaut:
créer un nouveau fichier web/Standard Deployment Descriptor (web.xml) et y rajouter ce code:
tu dois creer une page html: pour le format de saisir les champs de text
ensuite une page servlet ou jsp qui contient un code java de traitement en liant une liaison entre deux page et afficher les resultats