Eroare afisare date in jsp

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
sergiu4995
Membru eXtream
Membru eXtream
Posts: 2052
Joined: 08 Oct 2011, 21:05
Detinator Steam: Da
Has thanked: 31 times
Been thanked: 17 times
Contact:

09 Jan 2019, 18:08

Am o problema imi da eroarea asta la afisare
An error occurred at line: [38] in the jsp file: [/index.jsp]
The method setIdd(int) is undefined for the type Produit
35: produit.setDescription(rs.getString("description"));
36: produit.setPrix(rs.getFloat("prix"));
37: produit.setImage(rs.getString("image"));
38: produit.setIdd(rs.getInt("id_utilizator"));

========================
Am definita metoda in clasa Produit.java
public int getIdd() {
return id_utilizator;
}
public void setIdd(int id_utilizator) {
this.id_utilizator = id_utilizator;
}
=========================================

Servlet java
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {


String id = req.getParameter("id");
String nom = req.getParameter("nom");
String action = req.getParameter("action");
String id_utilizator = req.getParameter("id_utilizator");
if(action.equals(null)){



}

if(action.equals("show")){
System.out.println(action);
Produit produit = new Produit();
try{

Class.forName("com.mysql.jdbc.Driver");
Connection cnx = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/shopcti","root","");
Statement stmt = (Statement) cnx.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM produit WHERE id = "+id);

while (rs.next()) {
produit.setId(rs.getInt(1));
produit.setNom(rs.getString("nom"));
produit.setDescription(rs.getString("description"));
produit.setPrix(rs.getFloat("prix"));
produit.setImage(rs.getString("image"));
produit.setIdd(rs.getInt("id_utilizator"));

req.setAttribute("produit", produit);

}

}catch(Exception e){}

req.getRequestDispatcher("ShowProduit.jsp").forward(req, resp);
}
}

========================================


Iar in fisierul jsp am codul asta
<%

PreparedStatement pr = null;
ArrayList<Produit> listproduit = new ArrayList<Produit>();

try{
String keyword = "";
if(request.getParameter("txtKeyword") != null) {
keyword = request.getParameter("txtKeyword");
}
Class.forName("com.mysql.jdbc.Driver");
Connection cnx = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/shopcti","root","");
pr = (PreparedStatement) cnx.prepareStatement("select * from produit WHERE nom like '%" + keyword + "%' " +
" ORDER BY id DESC ");
ResultSet rs = pr.executeQuery();

while(rs.next()){
Produit produit = new Produit();
produit.setId(rs.getInt("id"));
produit.setNom(rs.getString("nom"));
produit.setDescription(rs.getString("description"));
produit.setPrix(rs.getFloat("prix"));
produit.setImage(rs.getString("image"));
produit.setIdd(rs.getInt("id_utilizator")); //aici da eroarea.....


listproduit.add(produit);

}

}catch(Exception e){}



%>
RoyalServer
The Kalu
Fost administrator
Fost administrator
Posts: 13708
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

09 Jan 2019, 18:28

Posibil sa nu poata accesa metoda fiind definita pe alta clasa, eroarea spune clar ca nu este definita deci nu o poate accesa daca tu o ai deja definita.
Image
User avatar
sergiu4995
Membru eXtream
Membru eXtream
Posts: 2052
Joined: 08 Oct 2011, 21:05
Detinator Steam: Da
Has thanked: 31 times
Been thanked: 17 times
Contact:

09 Jan 2019, 18:53

E aceeasi chestie la toate metodele pentr nume,descriere,pret, numai la id utilizator care e cheie straina,dar nu are treaba fix la ea imi da eroare
Am clasa produse, am fisierul de control java care e totul in regula si jsp-ul,daca scot id utilizator din peisaj, merge, dar vreau si id utilizator sa se afiseze, o solutie?
DanM
Membru, skill 0
Membru, skill 0
Posts: 39
Joined: 16 Jan 2017, 20:37
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

10 Jan 2019, 19:24

Dpdv al codului ești sigur ca funcționează cum trebuie? Din câte îmi aduc aminte, Java transmite prin referință, iar modificarea obiectului produit in cod ar duce la modificarea lui și in listProduit (comportament vrut sau nevrut depinde de tine).

Propun sa faci listaproduit.add(new Produit(parametrii));

Pentru asta, trebuie sa ai un constructor definit pentru produit cu toți parametrii.
Post Reply

Return to “Discutii generale”

  • Information