Recherche par Catégorie JSP Servlet Web Service
gorgui2014
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour je voudrais faire une recherche par catégorie, mais il n'arrive pas s'effectuer.
Voici mon code JSP, Servlet et web service:
Web Service :
@WebMethod(operationName = "getalloffresbycat")
@Override
public List<Offremploi> getalloffresbycat(@WebParam(name="categorie")String cat) {
return em.createQuery("SELECT p FROM Offremploi p LEFT JOIN p.Categorie a WHERE a.nomCat=:cat").setParameter("cat", cat).getResultList();
}
Servlet :
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
request.setAttribute("Listecategorie", getallcategorie());
request.setAttribute("ListeOffre", getalloffres());
request.getRequestDispatcher("MesLiens/pages/ListeOffre.jsp").forward(request, response);
String cat = request.getParameter("cb_titre");
if(!cat.equals(""))
{
request.setAttribute("ListeOffre",getalloffresbycat(cat));
}
}
JSP :
<label>Catétorie</label>
<form action="ListeOffre" method="post">
<select name="cb_titre" size="1" style="font-weight: bold;">
<option selected>Choisisser une catégorie</option>
<% ArrayList<String> Listecategorie = (ArrayList) request.getAttribute("Listecategorie");%>
<%
for (int i = 0; i < Listecategorie.size(); i++) {%>
<option style="color: black;"><%= Listecategorie.get(i) %></option>
<%}
%>
</select>
<input type=submit class=myButton value=Rechercher>
</form>
<br/><br/>
<%
if(ListeOffre != null && ListeOffre.size() != 0){
%>
<table width="620px">
<tr bgcolor="#00a600">
<th>N°</th>
<th>Nom de l'Emploi</th>
<th>Description</th>
<th>Type de contrat</th>
<th></th>
</tr>
<%
for (int i = 0; i < ListeOffre.size(); i++) {
%>
<tr bgcolor="#c1debb" style="height: 50px;">
<td><%=ListeOffre.get(i).getIdOffre()%></td>
<td><%=ListeOffre.get(i).getNomOffre()%></td>
<td><%=ListeOffre.get(i).getDescripOffre()%></td>
<td><%=ListeOffre.get(i).getTypeContrat()%></td>
<td><%="<a href=MesLiens/pages/emplois.jsp><input type=submit class=myButton value=Postuler></a>"%></td>
</tr>
<%}%>
</table>
<%}%>
Voici mon code JSP, Servlet et web service:
Web Service :
@WebMethod(operationName = "getalloffresbycat")
@Override
public List<Offremploi> getalloffresbycat(@WebParam(name="categorie")String cat) {
return em.createQuery("SELECT p FROM Offremploi p LEFT JOIN p.Categorie a WHERE a.nomCat=:cat").setParameter("cat", cat).getResultList();
}
Servlet :
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
request.setAttribute("Listecategorie", getallcategorie());
request.setAttribute("ListeOffre", getalloffres());
request.getRequestDispatcher("MesLiens/pages/ListeOffre.jsp").forward(request, response);
String cat = request.getParameter("cb_titre");
if(!cat.equals(""))
{
request.setAttribute("ListeOffre",getalloffresbycat(cat));
}
}
JSP :
<label>Catétorie</label>
<form action="ListeOffre" method="post">
<select name="cb_titre" size="1" style="font-weight: bold;">
<option selected>Choisisser une catégorie</option>
<% ArrayList<String> Listecategorie = (ArrayList) request.getAttribute("Listecategorie");%>
<%
for (int i = 0; i < Listecategorie.size(); i++) {%>
<option style="color: black;"><%= Listecategorie.get(i) %></option>
<%}
%>
</select>
<input type=submit class=myButton value=Rechercher>
</form>
<br/><br/>
<%
if(ListeOffre != null && ListeOffre.size() != 0){
%>
<table width="620px">
<tr bgcolor="#00a600">
<th>N°</th>
<th>Nom de l'Emploi</th>
<th>Description</th>
<th>Type de contrat</th>
<th></th>
</tr>
<%
for (int i = 0; i < ListeOffre.size(); i++) {
%>
<tr bgcolor="#c1debb" style="height: 50px;">
<td><%=ListeOffre.get(i).getIdOffre()%></td>
<td><%=ListeOffre.get(i).getNomOffre()%></td>
<td><%=ListeOffre.get(i).getDescripOffre()%></td>
<td><%=ListeOffre.get(i).getTypeContrat()%></td>
<td><%="<a href=MesLiens/pages/emplois.jsp><input type=submit class=myButton value=Postuler></a>"%></td>
</tr>
<%}%>
</table>
<%}%>
A voir également:
- Recherche par Catégorie JSP Servlet Web Service
- Web office - Guide
- Service spouleur - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche par image - Guide
- Création site web - Guide
1 réponse
Bonsoir,
Dans ton code tu gères 4 technologies (Jax-Ws, JPA, JSP, Servlet) je pense que tu peux déjà commencer par isoler les problèmes en faisant des petits tests sur une ou deux techno à la fois, parce que les 4 d'un coup ça va être un peu chaud.
En plus de ça j'imagine que tu as des erreurs, il faut regarder ce quelles sont et les corriger. Tu pourras évidemment t'aider du débogueur au moins sur le web service et la servlet (c'est un peu plus dur sur la jsp, mais c'est possible).
Remarque : tu utilises de jolies technos mais en plein milieu tu colles des scriptlets dans ta JSP, ça casse un peu tout. Regarde le fonctionnement de la JSTL, c'est quasi indispendable !
Dans ton code tu gères 4 technologies (Jax-Ws, JPA, JSP, Servlet) je pense que tu peux déjà commencer par isoler les problèmes en faisant des petits tests sur une ou deux techno à la fois, parce que les 4 d'un coup ça va être un peu chaud.
En plus de ça j'imagine que tu as des erreurs, il faut regarder ce quelles sont et les corriger. Tu pourras évidemment t'aider du débogueur au moins sur le web service et la servlet (c'est un peu plus dur sur la jsp, mais c'est possible).
Remarque : tu utilises de jolies technos mais en plein milieu tu colles des scriptlets dans ta JSP, ça casse un peu tout. Regarde le fonctionnement de la JSTL, c'est quasi indispendable !
Mais probleme est que j'arrive pas à trouver l'erreur. Je sais si c'est au niveau de la redirection ou au niveau de l'intruction SELECT ou ailleurs
Tu peux aussi rajouter des logs un peu partout, mais généralement c'est plutôt des outils pour identifier un cas particulier a posteriori, pas pour mettre en place le code.