一个实体bean对应一条数据库纪录,你的这种语句写在实体bean里,好像不太合适吧!从collection对象中取出数据是这样的:
Collection col=....;
Iterator iter=col.iterator();
 while(iter.hasNext()){
   Testtable remo=(Testtable)iter.next();
   System.out.println(remo.getXXX());
   .......
 }如果在jsp中显示,就没有必要在经过session bean这一步了!

解决方案 »

  1.   

    你把
    javax.naming.Context ctx = new javax.naming.InitialContext();
          Object rf = ctx.lookup("java:comp/env/ejb/findall");
          TesttableHome tH = (TesttableHome) javax.rmi.PortableRemoteObject.narrow(rf,TesttableHome.class);
          R = tH.findAll();
    直接放在jsp中,比就可以直接得到collection了吗?
    不必再在ejb里转那么大一圈!
      

  2.   

    不好意思,我写错了, public java.util.Collection getAllData() {
      Collection  R = null;
      String array = null;
      try{
          javax.naming.Context ctx = new javax.naming.InitialContext();
          Object rf = ctx.lookup("java:comp/env/ejb/findall");
          TesttableHome tH = (TesttableHome) javax.rmi.PortableRemoteObject.narrow(rf,TesttableHome.class);
          R = tH.findAll();
          }catch(Exception e){
          e.printStackTrace();
        }
        return R;
      }
    }
    这段我是写在sessionBean中,我是想返回给一个Client比如jsp页面!所以想返回Collection,让在client这边把他取出来,并且显示出来!
      

  3.   

    dutzzl() 你的方法我用了,在sB中通过,结果都在weblogic的console 的窗口中打印出来了,可是我现在要到client端打出,我用了你的方法,不成功!