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

Développement Web en Java Discussion :

datatable/ managed bean


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut datatable/ managed bean
    bonjour ,
    je veux remplir ma data table par une liste de type <dicomobj>
    ,lors du l'execution je reçu cette erreur:
    javax.servlet.ServletException: /welcomeJSF.jsp(133,24) '#{dcm.liststudy}' Error reading 'liststudy' on type dcm.DcmQR
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
    org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    mon managed bean est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    public class DcmQR {
     
        /**
         * static logger for this class
         */
        private static Logger logger = Logger.getLogger(DcmQR.class.getName());
     
        private static final int KB = 1024;
     
        private static char[] SECRET = { 's', 'e', 'c', 'r', 'e', 't' };
     
        private List liststudy;
        private List listpat;
        private List listseri;
        private List listimg;
        private DicomObject result;
     
        public List<DicomElem> getliststudy() {
          liststudy=new ArrayList<DicomObject>(createStudyObj((List<DicomObject>) result));
            return liststudy;
        }
     public void setliststudy(List liststudy) {
        this.liststudy = liststudy;
      }
    .
    .
    .....
     public List createStudyObj(List<DicomObject> result){
            DicomObject obj = new BasicDicomObject();
     
            for (int i =0;i< result.size();i++)
            {
        obj=result.get(i);
     DicomElem data =new DicomElem();
          try{
              data.setdatestudy((DicomObject)obj.get(Tag.StudyDate, VR.DA));
              data.setstudyuid((DicomObject)  obj.get(Tag.StudyInstanceUID,VR.UI));
           //DicomObject datetime =(DicomObject)obj.get(Tag.StudyTime, VR.TM);
           data.setmodalite((DicomObject)obj.get(Tag.Modality, VR.CS));
           data.setrefering((DicomObject) obj.get(Tag.ReferringPhysicianName,VR.PN));
           data.setnbrseries((DicomObject)obj.get(Tag.NumberOfPatientRelatedSeries, VR.IS));
           data.setnbrinstance((DicomObject)obj.get(Tag.NumberOfPatientRelatedStudies, VR.IS));
           data.setpatientname((DicomObject)obj.get(Tag.PatientName,VR.PN));
           data.setpatientbirth((DicomObject)obj.get(Tag.PatientBirthDate,VR.DA));
            data.setpatientsexe((DicomObject)obj.get(Tag.PatientSex,VR.CS));
            data.setseriedesc((DicomObject)obj.get(Tag.StudyDescription, VR.LO));
            liststudy.add(data);
              System.out.println("----------");
     
            }catch(Exception ex){//logger warn
            }
         }
    return liststudy;
        }
    .
    .
    .
    .
    .
    <DicomElem> est une autre class qui contient les item de ma liststudy où est declarer les getters and setters.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class DicomElem {
     
        private DicomObject patientname;
        private DicomObject patientbirth;
        private DicomObject patientsexe;
    public DicomObject getpatientname() {
         return patientname;
        }
        public void setpatientname(DicomObject patientname) {
         this.patientname = patientname;
        }
     
        public DicomObject getpatientbirth() {
         return patientbirth;
        }
        public void setpatientbirth(DicomObject patientbirth) {
         this.patientbirth = patientbirth;
        }
    en réalité ma method public List createStudyObj(List<DicomObject> result) est appelé dans une autre methode pour faire remplir la list result qui est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    public void go(String[] args) {
            DcmQR dcmqr = new DcmQR();
     
            dcmqr.setCalledAET("DCM4CHEE", true);
            dcmqr.setRemoteHost("127.0.0.1");
            dcmqr.setRemotePort(11112);
            dcmqr.setQueryLevel(QueryRetrieveLevel.STUDY);
            dcmqr.addMatchingKey(Tag.PatientName, "");
            dcmqr.addMatchingKey(Tag.PatientBirthDate, "");
            dcmqr.addMatchingKey(Tag.PatientSex,"");
            dcmqr.addMatchingKey(Tag.StudyDescription,"");
            dcmqr.addReturnKey(Tag.Modality);
            dcmqr.configureTransferCapability(true);
     try {
     
                dcmqr.start();
     
                dcmqr.open();
     
                List<DicomObject> result = dcmqr.query();
     
                dcmqr.createStudyObj(result);
     
                dcmqr.close();
                dcmqr.stop();
    }
    } catch (Exception e) {
     
            }
        }
    ma page jsp est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     <h:form>
                    <h:dataTable value="#{dcm.liststudy}" var="item">
     
    <f:facet name="header">
            <h:outputText value="This is 'dataTable' demo" />
    </f:facet>
     
    <h:column>
            <f:facet name="header">
            <h:outputText value="patient name" />
            </f:facet>
                 <h:outputText value="#{item.patientname}"></h:outputText>
    </h:column>
     
    <h:column>
            <f:facet name="header">
            <h:outputText value="patient birth"/>
            </f:facet>
                 <h:outputText value="#{item.patientbirth}"></h:outputText>
    </h:column>
    </h:dataTable>
                            <h:commandButton action="#{dcm.go}" value="studies"></h:commandButton>
                        </h:form>


    mon faces-conf.xml est:

    <managed-bean>
    <managed-bean-name>dcm</managed-bean-name>
    <managed-bean-class>dcm.DcmQR</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    le commandButton consiste a appeler ma methode go pour executer ma commande query.
    List<DicomObject> result = dcmqr.query();

    dcmqr.createStudyObj(result);
    alors que pourrait etre l'erreur que j'ai commi ?
    et merci en avance

  2. #2
    Membre régulier
    Avatar de Crooby
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Points : 114
    Points
    114
    Par défaut
    rajoute un @ManagedBean(name="DcmQR") pour préciser que c'est un managedBean avant le public Class DcmQR puis dans ta jsp pour la value du datatable met #{DcmQR.liststudy}
    "Two turkeys do not make an eagle" Vic Gundotra

    Projet personnel:
    http://ntracker.codeplex.com/ - Framework d'injection de dépendances
    https://mayhemkinect.codeplex.com/ - Ajout du support de la Kinect pour Mayhem

    Quelque outils sympas:
    http://mayhem.codeplex.com/
    http://makemayhem.com/

  3. #3
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut
    bonjour,j'ai commi une erreur au niveau de ma method gostudy au niveau de cette lgne DcmQR dcmqr = new DcmQR();
    il faut pas que je rerenitialise mon objet courant au lieu de ça j'utilise this
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JSF: Can't set managed bean property: 'Nom'.
    Par Laurent68 dans le forum JSF
    Réponses: 4
    Dernier message: 11/06/2009, 16h28
  2. Diffèrence Managed bean et backing bean
    Par BRAUKRIS dans le forum JSF
    Réponses: 2
    Dernier message: 25/11/2006, 07h49
  3. Réponses: 3
    Dernier message: 15/09/2006, 14h01
  4. utilisation d'un managed bean par un autre
    Par Romain93 dans le forum JSF
    Réponses: 6
    Dernier message: 28/07/2006, 10h29
  5. Réponses: 4
    Dernier message: 10/03/2006, 17h25

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