hello
i want to add the items of my list to data table and it made this error:
javax.servlet.ServletException: /welcomeJSF.jsp(133,24) '#{dcm.liststudy}' Error reading 'liststudy' on type dcm.DcmQR
javax.faces.webapp.FacesServlet.service(FacesServl et.java:256)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter .java:530)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(Base XMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseF ilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHa ndleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter .java:515)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:390)
my manade bean is:
Java Code:
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 getlistpat(){
     return listpat;
 }
  public void setlistpat(List listpat) {
    this.listpat = listpat;

  }
.
.....
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> it's an other class which contient items of my liststudy and the getters and setters.
Java Code:
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;
    }
in fact my method "public List createStudyObj(List<DicomObject> result)" is colled with an other methode to add elemnt to list result which had this code:
Java Code:
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) {
 
        }
    }
page jsp :
Java Code:
<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>
faces-conf.xml
Java Code:
 <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>
the commandButton is to call methode go to execute commande query.
List<DicomObject> result = dcmqr.query();

dcmqr.createStudyObj(result);
so what could be the solution ?and thanks in advance