javax.el.PropertyNotFoundException: Property 'prenom' not found on type java.lang.String
Bonsoir à tous, depuis quelque heures je bute sur cette erreur "javax.el.PropertyNotFoundException: Property 'prenom' not found on type java.lang.String".
Au fait je fais un exercice en JEE.
voici mon DOMAINE
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.objis.proxybanquev2.proxybanquev2domaine;
/**
*
* @author Abdel veno vedi vici
*/
public class Client {
private Long idClient;
private String nom;
private String prenom;
private String email;
private String adresse;
private Long idConseiller;
public Long getIdClient() {
return idClient;
}
public void setIdClient(Long idClient) {
this.idClient = idClient;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String contact) {
this.adresse = contact;
}
public Long getIdConseiller() {
return idConseiller;
}
public void setIdConseiller(Long idConseiller) {
this.idConseiller = idConseiller;
}
public Client(Long idClient, String nom, String prenom, String email, String adresse, Long idConseiller) {
this.idClient = idClient;
this.nom = nom;
this.prenom = prenom;
this.email = email;
this.adresse = adresse;
this.idConseiller = idConseiller;
}
public Client() {
}
} |
DAO:
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
| /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.objis.proxybanquev2.proxybanquev2dao.impl;
import com.objis.proxybanquev2.proxybanquev2dao.inter.IClientDao;
import com.objis.proxybanquev2.proxybanquev2domaine.Client;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Abdel veno vedi vici
*/
public class ClientDaoImpl implements IClientDao {
/**
* Retourner la liste des clients d'un conseiller
* @param idConseiller
* @return Collection Client pour un conseiller donné
*/
@Override
public LinkedList<Client> FindClientByConseiller(Long idConseiller) {
String listSql = "Select * from client where idconseiller=? ";
LinkedList<Client> clients = new LinkedList<>();
try {
PreparedStatement ps = ConnexionImpl.getConnexion().prepareStatement(listSql);
ps.setLong(1, idConseiller);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Client client = new Client();
client.setIdClient(rs.getLong("idClient"));
client.setNom(rs.getString("nom"));
client.setPrenom(rs.getString("prenom"));
client.setEmail(rs.getString("email"));
client.setAdresse(rs.getString("adresse"));
client.setIdConseiller(rs.getLong("idconseiller"));
clients.add(client);
}
} catch (SQLException e) {
e.printStackTrace();
}
return clients;
}
/**
*
* @param idclient
* @return
*/
@Override
public LinkedList<Client> selectOne(Long idclient){
String listSql = "Select * from client where idClient=? ";
LinkedList<Client> clients = new LinkedList<>();
try {
PreparedStatement ps = ConnexionImpl.getConnexion().prepareStatement(listSql);
ps.setLong(1, idclient);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Client client = new Client();
client.setIdClient(rs.getLong("idClient"));
client.setNom(rs.getString("nom"));
client.setPrenom(rs.getString("prenom"));
client.setEmail(rs.getString("email"));
client.setAdresse(rs.getString("adresse"));
client.setIdConseiller(rs.getLong("idconseiller"));
clients.add(client);
}
} catch (SQLException e) {
e.printStackTrace();
}
return clients;
}
@Override
public boolean update(Client client) {
int val=-1;
try {
String update ="update client set nom=?,prenom=?,email=?,adresse=?,idconseiller=? where idClient=?";
PreparedStatement ps = ConnexionImpl.getConnexion().prepareStatement(update);
ps.setString(1, client.getNom());
ps.setString(2, client.getPrenom());
ps.setString(3, client.getEmail());
ps.setString(4, client.getAdresse());
ps.setLong(5, client.getIdConseiller());
ps.setLong(6, client.getIdConseiller());
val = ps.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(ClientDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
}
return val>0;
}
} |
Voici la servlet:
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.objis.proxybanquev2.proxybanquev2web.controleur;
import com.objis.proxybanquev2.proxybanquev2domaine.Client;
import com.objis.proxybanquev2.proxybanquev2service.impl.ClientServiceImpl;
import com.objis.proxybanquev2.proxybanquev2service.inter.IClientService;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author KRA
*/
@WebServlet(name = "ModifierClient", urlPatterns = {"/ModifierClient"})
public class ModifierClient extends HttpServlet {
private IClientService clientservice = new ClientServiceImpl();
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ModifierClient</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ModifierClient at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Long idclient=null;
idclient =Long.parseLong( request.getParameter("idclient"));
LinkedList<Client> client = new LinkedList<>();
client =clientservice.selectOne(idclient);
for(Client c : client){
// System.out.println(c.getNom());
// System.out.println(c.getPrenom());
System.out.println(c.getEmail());
System.out.println(c.getAdresse());
}
request.setAttribute("client", client);
request.getRequestDispatcher("editerClient.jsp").forward(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
} |
la vue:
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@include file="header.jsp" %>
<!-- ******************************************************************-->
<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ debut de le content @@@@@@@@@@@@@@@@@-->
<!-- ******************************************************************-->
<div class="content-wrapper">
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="index.html">Accueil</a>
</li>
<li class="breadcrumb-item active">Modification d'un client</li>
</ol>
<div class="row">
<div class="col-12">
<!-- ******************************************************************-->
<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ici le content @@@@@@@@@@@@@@@@@-->
<!-- ******************************************************************-->
<div class="container">
<div class="card card-login mx-auto mt-5">
<div class="card-header">Modification d'un client</div>
<div class="card-body">
<form>
<c:forEach items="client" var="c">
<div class="form-group">
<label for="exampleInputPassword1">Nom</label>
<input class="form-control" id="nom" type="text" aria-describedby="emailHelp" name="nom" value=${c.nom}>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Prenom</label>
<input class="form-control" id="prenom" type="text" aria-describedby="emailHelp" name="prenom" value="${c.prenom}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">E-mail</label>
<input class="form-control" id="email" type="text" aria-describedby="emailHelp" name="email" value="${c.email}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Adressel</label>
<input class="form-control" id="adresse" type="text" aria-describedby="emailHelp" name="adresse" value="${c.adresse}">
</di>
<div class="form-group">
<label for="exampleInputPassword1"></label>
<input type="submit" id="valider" value="Valider" class="btn btn-success">
<input type="reset" id="ennuler" value="Annuler" class="btn btn-warning">
</di
<div >
</div>
</c:forEach>
</form>
</div>
</div>
</div>
<!-- ******************************************************************-->
<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ici le content @@@@@@@@@@@@@@@@@-->
<!-- ******************************************************************-->
</div>
</div>
</div>
<!-- /.container-fluid-->
<!-- /.content-wrapper-->
<%@include file="ProxyFooter.jsp" %> |
C'est au niveau de la récupération des données dans la vue que rencontre l'erreur.