public List<Filmlnfo> findByFilmlnfoInfo(QueryProperties qp) {
List result=new ArrayList();
try{

Query query=session.getNamedQuery("findFilm");
query.setProperties(qp);
List<Object[]> list=query.list();
System.out.println(list.size());
for(Object[] obj:list){
Filmlnfo ff=(Filmlnfo) obj[0];
Filetype ft=(Filetype) obj[1];
ff.setFiletype(ft);
result.add(ff);
}

return result;
}catch(HibernateException e){
throw new HibernateException("语句执行错误",e);
}

} public List<Filmlnfo> checkFilmlnfo(QueryProperties qp){
Session session=FilmProjectDao.getSession();
Film film=new FilmImpl(session);
try{ System.out.println("x");
List<Filmlnfo> list=film.findByFilmlnfoInfo(qp);
if(list==null||list.size()==0){
System.out.println("lz");
return null;
}else{
System.out.println("la");
return list;
}

}finally{
FilmProjectDao.closSession(session);
}
}else if ("queryfilm".equals(opr)) {
QueryProperties qp = new QueryProperties();
String name = request.getParameter("name").trim();
System.out.println(name);
if (name == null || name.equals("")) {
qp.setFilmname("%");
} else {
qp.setFilmname("%" + name + "%");
}
String filetype = request.getParameter("filetype").trim();
if (filetype == null || filetype.equals("")) {
qp.setTypeid(filetype);
}
String actor = request.getParameter("actor").trim();
if (actor == null || actor.equals("")) {
qp.setActor("%");
} else {
qp.setActor("%" + actor + "%");
}
String director = request.getParameter("director").trim();
if (director == null || director.equals("")) {
qp.setDirector("%");
} else {
qp.setDirector("%" + director + "%");
}
String smallprice = request.getParameter("smallprice");
if(smallprice==null||smallprice.equals("")){
qp.setSmallprice(0);
}else{
qp.setSmallprice(Integer.parseInt(request.getParameter("smallprice")));
}
String bigprice = request.getParameter("bigprice");
if(bigprice==null||bigprice.equals("")){
qp.setBigprice(0);
}else{
qp.setBigprice(Integer.parseInt(request.getParameter("bigprice")));
}
System.out.println(qp.getFilmname());
List<Filmlnfo> finfo = fbiz.checkFilmlnfo(qp);
request.setAttribute("result", finfo);
request.getRequestDispatcher("result.jsp").forward(request,
response); }
提交到JSP页面后都是空的值,为什么呢

解决方案 »

  1.   

    如果值存在 那么肯定就是页面接收的问题。看看是不是接收属性值错了,看看是不是requestScope写成sessionScope之类的。
      

  2.   


    测试时,页面上或取了值,是DAO类里面的集合是空的
      

  3.   

    看卡jsp页面name属性有没有对应起来。中间有没有跳转action。
      

  4.   

        <query name="searchFilm">
           <![CDATA[
             from Filmlnfo f join f.filetype
             where        
             f.filetype.typename=:typeid and
             f.filmname like:filmname and            
             f.actor like :actor and  
             f.director like:director and   
             f.ticdetprice  between :smallprice and :bigprice     
                   
          ]]>     
    </query> 
      

  5.   

    Filmlnfo里面有个typeid 是外键 Filetype里面有个typeid是主健 把where下面的这句 f.filetype.typename=:typeid and 删除后,可以进行单个的模糊查询,但是如果要查外健呢?怎么关联
      

  6.   


    JSP页面有对应,有跳转,查询语句里面的关联怎么写
      

  7.   

    把 from Filmlnfo f join f.filetype这句删除掉就可以或取到查询的值,但是有一列是根据外健查询主表里面的一个字段,要关联
      

  8.   

     <sql-query name="searchFilm">
          <![CDATA[
              select {f.*,t.*} from Filmlnfo f , filetype t
             where        
             f.typeid=t.typeid and
             f.filmname like:filmname and            
             f.actor like :actor and  
             f.director like:director and   
             f.ticdetprice  between :smallprice and :bigprice     
                   
          ]]>  
          <return alias="f"  class="cn.jbit.FilmProject.entity.Filmlnfo"></return>
          <return alias="t" class="cn.jbit.FilmProject.entity.Filetype"></return>
        </sql-query>
    这样写就报这样的 错误
    %%%% Error Creating SessionFactory %%%%
    org.hibernate.HibernateException: Errors in named queries: searchFilm
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:407)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
    at cn.jbit.FilmProject.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
    at cn.jbit.FilmProject.dao.FilmImpl.findByFiletypeInfo(FilmImpl.java:20)
    at cn.jbit.FilmProject.biz.FilmBiz.checkFiletype(FilmBiz.java:18)
    at cn.jbit.FilmProject.servlet.Ctrl.doGet(Ctrl.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:57)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    %%%% Error Creating SessionFactory %%%%
    org.hibernate.InvalidMappingException: Could not parse mapping document from resource cn/jbit/FilmProject/entity/Filmlnfo.hbm.xml
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:616)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1635)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
    at cn.jbit.FilmProject.util.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
    at cn.jbit.FilmProject.util.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
    at cn.jbit.FilmProject.dao.FilmImpl.findByFiletypeInfo(FilmImpl.java:20)
    at cn.jbit.FilmProject.biz.FilmBiz.checkFiletype(FilmBiz.java:18)
    at cn.jbit.FilmProject.servlet.Ctrl.doGet(Ctrl.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:57)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping cn.jbit.FilmProject.entity.Filmlnfo
    at org.hibernate.cfg.Mappings.addClass(Mappings.java:141)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:167)
    at org.hibernate.cfg.Configuration.add(Configuration.java:716)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:551)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
    ... 37 more
    2012-8-27 21:20:59 org.apache.catalina.core.ApplicationDispatcher invoke
    严重: Servlet.service() for servlet Ctrl threw exception
    java.lang.NullPointerException
    at cn.jbit.FilmProject.dao.FilmImpl.findByFiletypeInfo(FilmImpl.java:21)
    at cn.jbit.FilmProject.biz.FilmBiz.checkFiletype(FilmBiz.java:18)
    at cn.jbit.FilmProject.servlet.Ctrl.doGet(Ctrl.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:57)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)