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

Struts 1 Java Discussion :

Tag Bean Define


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 39
    Points
    39
    Par défaut Tag Bean Define
    Bonjour à tous

    Voilà mon problème: j'ai repris un projet déjà bien avancé faisant appel au framework struts, aux servlet/JSP, tournant sur un serveur d'application tomcat (j'utilise soit le 5.5.9 de netbeans, soit le 5.5.20 installé en local)

    Bien évidemment, reprendre un projet déjà bien avancé est assez ch**** pour ce qui est de la compréhension du code, sans compter que je débute dans Struts

    Enfin bref, voici mon souci:
    Code cJeu.jsp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
           <p align="left"><small>
                <%-- Lieu ou se trouve le joueur --%>
                <bean:define id="caseLieu" name="joueur" property="position"/>
                <bean:define id="lieu" name="caseLieu" property="lieu"/>
                <bean:message key="cChemin.caseLieu" bundle="appli"/> <b><bean:write name="caseLieu" property="nom"/> (<bean:write name="lieu" property="nom"/>)</b>
                <br/>*** <i><bean:write name="caseLieu" property="description"/></i> ***<br/><br/>

    Celà se porte principalement sur les tag bean:define, que j'ai du mal à comprendre, et ce malgré les tutoriaux que j'ai pu lire sur le net.
    Je sais que l'attribut name représente une variable qui va fournir la valeur, et l'assigner à l'attribut désigné par id

    Ce que j'ai du mal à comprendre: où est définie la variable "joueur" ainsi que la propriété qui lui est assignée ?
    J'ai cherché un peu partout: les fichiers struts-*.tld, struts-config.xml, d'autres jsp attachées à celui-là mais rien à faire.

    Si vous avez une idée d'où celà pourrait être déclaré, ce serait sympa merci.

    Edit: j'allais oublier de préciser ... lorsque l'application tourne, j'ai droit à une erreur 500 provenant du premier define du bout de code donné (j'ai vérifié avec des lignes de debug):
    Etat HTTP 500 -

    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    javax.servlet.ServletException: Define tag cannot set a null value
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
    org.apache.jsp.jeu.wap.card.cJeu_jsp._jspService(cJeu_jsp.java:670)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
    org.apache.jsp.jeu.wap.jeu_jsp._jspService(jeu_jsp.java:61)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    com.opensugar.util.filter.CaracteresSpeciauxFilter.doFilter(CaracteresSpeciauxFilter.java:124)
    com.cj.trim.trimFilter.doFilter(Unknown Source)
    com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:56)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

    cause mère

    javax.servlet.jsp.JspException: Define tag cannot set a null value
    org.apache.struts.taglib.bean.DefineTag.doEndTag(DefineTag.java:236)
    org.apache.jsp.jeu.wap.card.cJeu_jsp._jspService(cJeu_jsp.java:215)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
    org.apache.jsp.jeu.wap.jeu_jsp._jspService(jeu_jsp.java:61)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    com.opensugar.util.filter.CaracteresSpeciauxFilter.doFilter(CaracteresSpeciauxFilter.java:124)
    com.cj.trim.trimFilter.doFilter(Unknown Source)
    com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:56)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    Merci d'avance pour l'aide

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:define id="caseLieu" name="joueur" property="position"/>
    Pour que ceci fonctionne, il faut avoir mis le bean joueur dans le scope (request, session, ...) soit dans une Action, soit dans une servlet qui s'exécute avant l'affichage de la jsp, via par exemple un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("joueur",joueur);
    , soit dans la jsp elle-même.

    Ce bean joueur doit être une instance d'une classe Java, qui peut-être s'appelle Joueur, et qui a pour propriété position.

    Et vu le reste du code, tu dois avoir une classe Java, qui peut-être s'appelle Position, avec pour propriétés lieu, nom et description.

    Donc, pour initialiser le bean joueur, tu devrais avoir quelque part quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Joueur joueur = new Joueur() ;
     
    Position positionJoueur = new Position() ;
    positionJoueur.setLieu("unLieu") ;
    positionJoueur.setNom("unNom") ;
    positionJoueur.setDescription("uneDescription");
     
    joueur.setPosition(positionJoueur) ;
     
    request.setAttribute("joueur",joueur);
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 39
    Points
    39
    Par défaut
    ok merci pour la réponse

    en fait il s'agissait d'un problème d'initialisation, le champ "position" correspondant à la propriété du bean:define n'était pas initialisé

    Voilà une erreur de fixée (***ouf*** ^^)

Discussions similaires

  1. Utilisation bean:define ?
    Par SrK dans le forum Struts 1
    Réponses: 15
    Dernier message: 13/06/2006, 17h02
  2. Réponses: 4
    Dernier message: 15/02/2006, 17h24
  3. [Struts] paramètre JS dans un bean:define
    Par Mrlud dans le forum Struts 1
    Réponses: 4
    Dernier message: 09/06/2005, 14h38
  4. Réponses: 4
    Dernier message: 19/04/2005, 13h42
  5. [Struts]pb de Bean define
    Par tscoops dans le forum Struts 1
    Réponses: 8
    Dernier message: 02/03/2005, 09h12

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