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   -
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>
<%}%>
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 !
0
gorgui2014 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, merci pour la contribution.
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
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Il faut déboguer. Tu te branches sur ton serveur en remote debugging et tu suis tes instructions pas à pas pour voir où ça coince.

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.
0