IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Portails Java Discussion :

ressource demandé n'a pas été trouvé


Sujet :

Portails Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Points : 34
    Points
    34
    Par défaut ressource demandé n'a pas été trouvé
    Bonjour,
    je suis en train de développez une application sous liferay
    J'ai un bouton, mais lorsque je clique la dessus il m'affiche le message suivant
    "ressource demandé n'a pas été trouvé" malgré que la configuration dans le fichier struts-config.xml et tiles-def.xml est bien faite
    si quelqu'un a une idée
    merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    C'est un peu léger comme explications, si tu veux de l'aide il va falloir nous en donner plus !

    Tu développes une portlet ?
    Peux tu nous donner le bout de code qui génère ton bouton ainsi que l'arborescence jusqu'à ton fichier cible ?

    Edit : si ton fichier cible est une page ".jsp", l'URL demandé par Liferay est "nom-de-ton-portlet/nom-de-ta-jsp.jsp" et non "nom-de-ta-jsp.jsp".

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Points : 34
    Points
    34
    Par défaut
    merci pour la réponse
    oui je suis en train de développer un portlet dont le view est le suivant

    <%@ page import="java.util.List"%>
    <%@ page import="com.liferay.portal.util.PortalUtil"%>
    <%@ page import="javax.portlet.PortletURL"%>
    <%@ page import="fr.sodifrance.gestionConge.dto.GestionCongeDTO"%>
    <%@ page import="com.liferay.portal.util.PortalUtil"%>
    <%@ page import="javax.portlet.PortletURL"%>
    <%@ page import="javax.portlet.RenderResponse"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%@ page language="java"%>
    <%@ page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
    <%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%>

    <%@ page import="javax.portlet.PortletURL"%>
    <%@ page import="javax.portlet.ResourceURL"%>
    <%@ page import="javax.portlet.WindowState"%>

    <head>
    <script src="/html/portlet/ext/point/sorttable.js"></script>
    <link href="/html/portlet/ext/point/file.css" rel="stylesheet"
    type="text/css" />
    </head>
    <style type="text/css">
    .style1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    }
    </style>
    <style type="text/css">
    .style2 {
    cursor: pointer;
    }
    </style>
    <%
    List<GestionCongeDTO> conge = (List<GestionCongeDTO>)request.getAttribute("liste.conge");
    %>
    <body>
    <form action='<portlet:actionURL windowState="<%= WindowState.NORMAL.toString() %>"><portlet:param name="struts_action" value="/ext/gestion_conges/view" /></portlet:actionURL>'>
    <table width="1200">
    <tr>
    <td>
    <fieldset title="filtre"><LEGEND>Filtre</LEGEND>
    <table width="1000">
    <td width="100" class="style1">Prénom</td>
    <td><input type="text" size="50" name="prenom" /></td>
    <td class="style1">Nom</td>
    <td><input type="text" size="50" name="nom" /></td>
    <tr height="10">
    </tr>
    <td width="100" class="style1">Date début</td>
    <td><input type="text" size="50" name="datedebut" id="dateDebut" />
    </td>
    <td class="style1">Date fin</td>
    <td><input type="text" size="50" name="datefin" id="dateFin" />
    </td>
    <tr height="10">
    </tr>
    <td width="180" class="style1">Heure début</td>
    <td><input type="text" size="50" name="heuredebut" /></td>
    <td width="180" class="style1">Heure fin</td>
    <td><input type="text" size="50" name="heurefin" /></td>
    <tr height="10">
    </tr>
    <td width="180" class="style1">Consomé</td>
    <td><input type="text" size="50" name="consome" /></td>
    <td width="180" class="style1">Restant</td>
    <td><input type="text" size="50" name="restant" /></td>
    <tr height="10">
    </tr>
    <tr height="10">
    <td align="left"></td>
    <td align="left"></td>
    <td></td>
    <td align="left"></td>
    <td align="left"></td>
    </tr>
    <tr height="10">
    <td align="left"></td>
    <td align="left"></td>
    <td></td>
    <td align="left"></td>
    <td align="left"></td>
    </tr>
    <tr>
    <td>&nbsp;&nbsp;</td>
    <td>&nbsp;&nbsp;</td>
    <td>&nbsp;&nbsp;</td>
    <td><input type="button" value="Effacer" onClick="effacer();" /></td>
    <td><input type="submit" value="Rechecher" title="Lancer la recherche" /></td>
    </tr>
    <tr height="10">
    <td align="left"></td>
    <td align="left"></td>
    <td></td>
    <td align="left"></td>
    <td align="left"></td>
    <input type="hidden" id="handl" name="handl" value="view" />
    <input type="hidden" name="idCongeDelete" id="idCongeDelete" />
    <input type="hidden" id="id" name="id" value="" />
    </tr>
    </table>
    </fieldset>

    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    </tr>
    <tr align="right">
    <td>
    <fieldset>
    <table border="2" bordercolor="#FFFFFF" bgcolor="#FFFFFF"
    class="sortable" width="1200">
    <tr bgcolor="#CCCCCC" style="cursor: move;" height="30">
    <td width="20" align="center"><span class="Style2"></span></td>
    <td width="50" align="center"><strong>Nom</strong></td>
    <td width="50" align="center"><strong>Prenom</strong></td>
    <td width="40" align="center"><strong>Date début</strong></td>
    <td width="150" align="center"><strong>Date fin</strong></td>
    <td width="72" align="center"><strong>Heure début</strong></td>
    <td width="70" align="center"><strong>Heure fin</strong></td>
    </tr>
    <%
    String format="odd";
    for (int i = 0; i < conge.size(); i++) {
    GestionCongeDTO listConge = conge.get(i);
    %>
    <tr class="<%=format %>" height="20">
    <td width="20" align="center"><a><img
    src="/html/portlet/ext/gestion_conges/note_delete.gif"
    title="Supprimer" onclick="popupDelete('<%= listConge.getId() %>')" /></a>
    </td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getNom() %>
    </font></td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getPrenom() %>
    </font></td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getDatedebut() %>
    </font></td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getDatefin() %>
    </font></td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getHeuredebut() %>
    </font></td>
    <td align="center"><font size="2" face="Verdana"><%= listConge.getHeurefin() %>
    </font></td>
    </tr>
    <% if(format.equals("odd")) format="even";
    else format="odd";
    }//fin de la boucle for//
    %>
    </table>
    </fieldset>
    </td>
    </tr>
    </table>
    </form>
    <script type="text/javascript">
    function popupDelete(idconge){
    var idconge=idconge;
    jQuery("#congeID").val(idconge);
    callAjax(document.getElementById("content").innerHTML);
    var dialogBox=jQuery("#myDiv").dialog({
    width: 360,
    height:150,
    position:[450,200],
    modal: true,
    autoOpen: true,
    closeOnEscape:true,
    title:'Confirmation',
    resizable:false
    });
    }


    jQuery('#dateDebut').datepicker({ dateFormat: 'yy-mm-dd'});
    jQuery('#dateFin').datepicker({ dateFormat: 'yy-mm-dd'});
    function callAjax(content){
    document.getElementById("myDiv").innerHTML = content;
    }
    </script>
    <div id="myDiv"></div>
    <div id="content" style="display: none" align="center"><Strong><big><bean:message
    key="message.confirm.delete.conge" /></big></Strong>
    <p></p>
    <p></p>
    <br />
    <form
    action='<portlet:actionURL windowState="<%= WindowState.NORMAL.toString() %>"><portlet:param name="struts_action" value="/ext/gestion_conges/view" /></portlet:actionURL>'>
    <table align="center">
    <tr>
    <td><input type="button" value=" Annuler "
    onClick="Liferay.Popup.close(this);" /></td>
    <td width="60"></td>
    <td>&nbsp;</td>
    <td><input type="submit" value="Confirmer" /></td>
    <td><input type="hidden" name="handl" value="deleteconge" /></td>
    <td><input type="hidden" name="congeID" id="congeID" /></td>
    </tr>
    </table>
    </form>
    </div>
    </body>

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Donc si j'ai bien compris ton problème, l'erreur s'affiche en cliquant sur "Confirmer" ?
    Tu es certain de ton action et de ton path strut ? (et de ta configuration ?)

    As-tu essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <% PortletURL url = renderResponse.createActionURL();
    url.setWindowState(WindowState.NORMAL);
    url.setParameter("struts_action", "/ext/gestion_conges/view");
    %>
    N'est-il pas obligatoire de préciser la méthode d'envoi de ton formulaire (<form method="POST">)?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form
    action='<portlet:actionURL windowState="<%= WindowState.NORMAL.toString() %>"><portlet:param name="struts_action" value="/ext/gestion_conges/view" /></portlet:actionURL>' method="POST">
    Cordialement,

    Nigelz

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Points : 34
    Points
    34
    Par défaut
    L'erreur s'afiiche lorsque je clique sur "Confirmer" ou "Rechercher"
    J'ai essayé les deux propositions mais le probleme persiste encore
    la configuration est déja faite
    le bouton "Confirmer" doit faire la suppression et retourne vers la page view
    le bouton "Rechercher" doit faire le recherche et rester dans la meme page
    le probleme est que j'ai une autre page dont le code est similaire à celui la et elle fonctionne correctement

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Je ne trouve aucun bouton "Rechercher" dans le code que vous avez fourni
    Je n'ai ni accès à votre arborescence (pour trouver éventuellement un liens erroné dû à un copier/coller trop rapide ou autre), ni aux autres fichiers de configuration...

    Je remarque que vous allez chercher une image au chemin suivant :

    "/html/portlet/ext/gestion_conges/note_delete.gif"

    et votre bouton confirmer quand à lui à le chemin suivant :

    "/ext/gestion_conges/view"

    Avez-vous essayé avec /html/portlet/... ?

    Edit : j'ai finalement trouvé le bouton "RecheRcher"

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Points : 34
    Points
    34
    Par défaut
    pour la configuration j'ai ajouté les lignes suivantes dans la page tiles-defs.xml

    <definition extends="portlet" name="portlet.ext.gestion_conges.view">
    <put name="portlet_content" value="/portlet/ext/gestion_conges/view.jsp"/>
    </definition>

    et dans la page struts-config.xml j'ai ajouté

    <action path="/ext/gestion_conges/view" type="com.ext.portlet.gestion_conges.action.ViewAction">
    <forward name="portlet.ext.gestion_conges.view" path="portlet.ext.gestion_conges.view"/>
    </action>


    pour gérer l'affichage de page j'ai met le code suivant dans la page viewaction.java

    package com.ext.portlet.gestion_conges.action;

    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import javax.portlet.PortletConfig;
    import javax.portlet.RenderRequest;
    import javax.portlet.RenderResponse;

    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    import com.ext.portlet.point.action.ActionUtil;
    import com.liferay.portal.struts.PortletAction;

    import fr.sodifrance.gestionConge.dto.GestionCongeDTO;
    import fr.sodifrance.gestionConge.service.GestionCongeService;

    public class ViewAction extends PortletAction{

    public ActionForward render(
    ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
    RenderRequest renderRequest, RenderResponse renderResponse)
    throws Exception {
    String handl=renderRequest.getParameter("handl");
    if(handl==null||"".equals(handl)) handl="view";
    if("view".equals(handl)|| "deleteconge".equals(handl)){
    GestionCongeService srv=new GestionCongeService();

    String nom = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "nom");

    String prenom = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "prenom");

    String datedebut = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "datedebut");

    String datefin = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "datefin");

    String heuredebut = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "heuredebut");

    String heurefin = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "heurefin");

    Map<String, String> filter = new HashMap<String, String>();
    if (nom != null && !"".equals(nom)){
    filter.put("nom", nom.replaceAll("'", "''"));}
    if (prenom != null && !"".equals(prenom)){
    filter.put("prenom", prenom.replaceAll("'", "''"));}
    if (datedebut != null && !"".equals(datedebut)){
    filter.put("datedebut", datedebut.replaceAll("'", "''"));}
    if ( datefin!= null && !"".equals(datefin)){
    filter.put("datefin", datefin.replaceAll("'", "''"));}
    if ( heurefin!= null && !"".equals(heurefin)){
    filter.put("heurefin", heurefin.replaceAll("'", "''"));}
    if ( heuredebut!= null && !"".equals(heuredebut)){
    filter.put("heuredebut", heuredebut.replaceAll("'", "''"));}
    if("deleteconge".equals(handl)){
    String idCongeDelete = ActionUtil.getParameterFromOriginalRequest(
    renderRequest, "congeID");
    srv.deleteConge(idCongeDelete);
    }



    List<GestionCongeDTO> listConge=srv.getListConge(filter);
    renderRequest.setAttribute("liste.conge",listConge);
    return mapping.findForward("portlet.ext.gestion_conges.view");
    }

    else if("goToTest".equals(handl)){

    return mapping.findForward("portlet.ext.gestion_conges.test");
    }
    return mapping.findForward(null);}
    }

Discussions similaires

  1. ressource demande n'est pas disponible
    Par j_esti dans le forum Struts 1
    Réponses: 1
    Dernier message: 21/05/2008, 23h49
  2. [Tomcat 6.0] La ressource demandée n'est pas disponible
    Par Monkey_D.Luffy dans le forum JDBC
    Réponses: 14
    Dernier message: 20/05/2008, 15h41
  3. La ressource demandée n'est pas disponible.
    Par info_plus dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 03/04/2008, 17h49
  4. Erreur 404 - La ressource demandée (/**/) n'est pas disponible.
    Par Rom1984 dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 20/03/2008, 16h06
  5. erreur 404 -- la ressource demandée n'est pas dispo
    Par dev7 dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 11/03/2007, 02h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo