avancement de Show, liaison entre Quizz et Question

This commit is contained in:
trochas
2025-09-25 15:45:24 +02:00
parent d65baa3a78
commit 8e8609aa4b
9 changed files with 124 additions and 14 deletions

Binary file not shown.

View File

@@ -22,4 +22,13 @@ public class Choix extends Reponse{
this.choix = choix; this.choix = choix;
} }
@Override
public String valHTML(){
String res = "";
for (String val : this.choix) {
res+=val+"<br/>";
}
return res;
}
} }

View File

@@ -7,7 +7,9 @@ import java.io.Serializable;
@Entity @Entity
public class Question implements Serializable { public class Question implements Serializable {
private int id; private int id;
private String question;
private Reponse reponse; private Reponse reponse;
private Quizz quizz;
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -28,4 +30,22 @@ public class Question implements Serializable {
this.reponse = reponse; this.reponse = reponse;
} }
@ManyToOne
@JoinColumn(name="id_quizz")
public Quizz getQuizz(){
return this.quizz;
}
public void setQuizz(Quizz quizz){
this.quizz = quizz;
}
public String getQuestion(){
return this.question;
}
public void setQuestion(String question){
this.question = question;
}
} }

View File

@@ -2,12 +2,14 @@ package metier;
import jakarta.persistence.*; import jakarta.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
@Entity @Entity
public class Quizz implements Serializable { public class Quizz implements Serializable {
private Session session; private Session session;
private int id; private int id;
private Utilisateur utilisateur; private Utilisateur utilisateur;
private List<Question> questions;
public Quizz(){ public Quizz(){
super(); super();
@@ -41,4 +43,15 @@ public class Quizz implements Serializable {
public void setUtilisateur(Utilisateur u){ public void setUtilisateur(Utilisateur u){
this.utilisateur=u; this.utilisateur=u;
} }
@OneToMany(mappedBy = "quizz")
public List<Question> getQuestions(){
return this.questions;
}
public void setQuestions(List<Question> questions){
this.questions = questions;
}
} }

View File

@@ -1,7 +1,7 @@
package metier; package metier;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.List;
import jakarta.persistence.*; import jakarta.persistence.*;
@@ -12,7 +12,7 @@ import jakarta.persistence.*;
public abstract class Reponse implements Serializable { public abstract class Reponse implements Serializable {
private int id; private int id;
private Question question; private Question question;
public ArrayList<String> reponses; public List<String> reponses;
public Reponse(){} public Reponse(){}
@@ -35,11 +35,16 @@ public abstract class Reponse implements Serializable {
this.question=question; this.question=question;
} }
public ArrayList<String> getReponses(){ public List<String> getReponses(){
return this.reponses; return this.reponses;
} }
public void setReponses(ArrayList<String> reponses){ public void setReponses(List<String> reponses){
this.reponses=reponses; this.reponses=reponses;
} }
public String valHTML(){
return "";
}
} }

View File

@@ -18,4 +18,9 @@ public class ReponseCourte extends Reponse{
public String getValue(){ public String getValue(){
return this.value; return this.value;
} }
@Override
public String valHTML(){
return "INPUT";
}
} }

View File

@@ -4,13 +4,13 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import DAO.*; import DAO.*;
import metier.*;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import metier.Utilisateur;
@WebServlet(name="Show", urlPatterns={"/Show"}) @WebServlet(name="Show", urlPatterns={"/Show"})
public class Show extends HttpServlet { public class Show extends HttpServlet {
@@ -22,20 +22,56 @@ public class Show extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html"); response.setContentType("text/html");
String result = "<!DOCTYPE html>"+
"<html>"+
"<head>"+
"<link rel=\"stylesheet\" type=\"text/css\" href=\""+request.getContextPath()+"/css/style.css\">"+
"</head>"+
"<body>";
//UTILISATEUR
List<Utilisateur> listUser = utilisateurDAO.findAll(); List<Utilisateur> listUser = utilisateurDAO.findAll();
String result = "<HTML>\n<BODY>\n";
result += "<H2>Utilisateurs :</H2>"; result += "<H2>Utilisateurs :</H2>";
result +=
"<table class=\"show\">"+
"<thead class=\"show\">"+
"<tr>"+
"<th class=\"show\">ID</th><th class=\"show\">Nom</th><th class=\"show\">mail</th>"+
"</tr>"+
"</thead>"+
"<tbody>";
for (Utilisateur u : listUser) { for (Utilisateur u : listUser) {
result+=
result += u.getName(); "<tr>"+
result += u.getId(); "<th class=\"show\">"+u.getId()+"</th>"+"<th class=\"show\">"+u.getName()+"</th>"+"<th class=\"show\">"+u.getEmail()+"</th>"+
result += u.getEmail(); "</tr>";
result += u.getPassword();
} }
result +=
"</tbody>"+
"</table>";
result += "</body>\n</html>";
result += "</BODY>\n</HTML>"; //QUIZZ
List<Quizz> listQuizz = quizzDAI.findAll();
result += "<H2>Quizz :</H2>";
for (Quizz quizz : listQuizz) {
result += "quizz n°" + quizz.getId() + "<br/>";
for (Question question : quizz.getQuestions()) {
result += question.getQuestion() + "<br/>";
result += "choix de réponse : <br/>";
result += question.getReponse().valHTML();
result+= "Reponses corrects :<br/>";
for (String reponse : question.getReponse().getReponses()) {
result += reponse;
}
}
}
response.getWriter().write(result); response.getWriter().write(result);

View File

@@ -0,0 +1,20 @@
body{
}
table.show{
border-collapse: collapse;
text-align: left;
border: 2px solid #C0C0C0;
}
thead.show{
background-color: #F0F0F0;
}
th.show{
padding-left: 5px;
padding-right: 5px;
border: 1px solid #C0C0C0
}

View File

@@ -7,6 +7,8 @@
<body> <body>
<h1>Hello World!</h1> <h1>Hello World!</h1>
<a href =http://localhost:8080/myform.html>myform</a> <a href =http://localhost:8080/myform.html>myform</a>
<a href =http://localhost:8080/Quizz.html>Quizz</a>
<a href =Show>show</a> <a href =Show>show</a>
</body> </body>