Recherche par Catégorie JSP Servlet Web Service

Fermé
gorgui2014 Messages postés 11 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 6 octobre 2014 - Modifié par gorgui2014 le 3/04/2014 à 13:11
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 5 avril 2014 à 14:51
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
3 avril 2014 à 18:58
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 dimanche 16 mars 2014 Statut Membre Dernière intervention 6 octobre 2014
5 avril 2014 à 14:41
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 avril 2014 à 14:51
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