我想从aa表中读出所有数据,然后在另一个页面显示。 可是我不知道怎么写查询,然后怎么封装到集合。这样写不对:大虾快帮忙吧 我快急死了。
            查询方法对吗??
            class DAO{
                 public List sel(){
List ls=new Vector();

Session session = HibernateSessionFactory.openSession();
String hql = "from aa ";
try {
Query query = session.createQuery(hql);
ls = query.list();
return ls;
 
 
 }
 catch(Exception ex){
 ex.printStackTrace();
 
 }
return ls;
}action如下:
                 public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception{
List b=new Vector();
WorkPlan user=new WorkPlan();

DAO a=new DAO();
 b=a.sel();
 request.setAttribute("all", b);
return mapping.findForward("JSP页面");


}这个不对 大虾帮帮忙 小弟泪流满面提示说找不到配置文件,但是肯定是代码错了 因为我不太会。

解决方案 »

  1.   

    你好!你先调试看你的list里面是否有值.
    mapping.findForward("JSP页面");1年没有写web了.总觉得这句话有问题.
    JSP页面应该是你需要跳转的页面. 一般应该是mapping.findForward("./result.jsp");
      

  2.   

    这样啊 我给你贴一个Demo吧
    首先是 dao 实现方法
    public List getSpreaderNextNum() throws Exception {
    return Criteria criteria = this.getSession(true)
                .createCriteria(实体类.class).list();
    }
    action方法:ServletContext application = request.getSession().getServletContext();
    WebApplicationContext webContext = WebApplicationContextUtils
    .getRequiredWebApplicationContext(application);
    SpreaderService sprs = (SpreaderService) webContext.getBean("speaderService");//上面代码是在spring里面配置的service
    List res= sprs.getSpreaderNextNum();
      

  3.   

    还有 return mapping.findForward("JSP页面");//这句话不对吧?
    return mapping.findForward("***");//*** 应该是你在struts-config.xml 里面配置的跳转路径
    eg:<forward name="***" path="/index.jsp"></forward>
      

  4.   

    配置文件?什么配置文件呀。
    要是根据你写的代码。其实问题不大。class DAO{
      public List<AA> sel(){
    List<AA> ls=new ArrayList<AA>();Session session = HibernateSessionFactory.openSession();
    String hql = "from AA";
    try {
    Query query = session.createQuery(hql);
    ls = query.list();
    return ls;
      
      
    }
    catch(Exception ex){
    ex.printStackTrace();
      
    }
    return ls;
    }action如下:
      public ActionForward list(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)throws Exception{
    List<AA> ls=new ArrayList<AA>();
    WorkPlan user=new WorkPlan();DAO a=new DAO();
    ls=a.sel();
    request.setAttribute("all",ls);
    return mapping.findForward("showList");}
    [code=XML]
          <action.........
          <forward name="showList" path="/xxxxx.jsp"></forward>
          </action>
    [/code]
      

  5.   

    List<AA> ls=new ArrayList<AA>(); 这句话什么意思?是不是这个的问题,,配置文件应该没问题,我写的jsp页面,其实我struts配好了 主要是hibernate代码有问题我感觉
      

  6.   

    大家看我返回值和类型对吗 为什么有两个return啊 eclips老提示 就加了俩
      

  7.   

    配置文件报错的话确保两点:
    1、在src下有hibernate.cfg.xml的主配置文件
    2、建立一个映射文件**.hbm.xml。此文件是你的对象与数据库表的映射文件
    3、在主配置文件中,导入了你的映射文件**.hbm.xml
    <mapping resource="***.hbm.xml" />
      

  8.   

    return new ActionForward("JSP页面");
      

  9.   


    这是jdk5.0后出现的泛型定义..
    指list中只能存放<AA>类型的数据.
      

  10.   

    加断点,单步调试,如果b里确实有值的话,hibernate没问题,那肯定是struts配置或页面显示语句的问题
      

  11.   

    你看看mapping 哪里 跟配置文件的有没有问题。。
    jsp
    <%
      for(Object obj:(List)request.getAttribute("all"))
    {
        dothing.
    }
    %>