首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

DWR 有关问题

2012-06-20 
DWR 问题 十万火急package com.dao.DWRimport java.util.Listimport org.hibernate.Queryimport com.be

DWR 问题 十万火急
package com.dao.DWR;

import java.util.List;

import org.hibernate.Query;

import com.bean.HibernateSessionFactory;
import com.bean.purchasingManagement.suppliers.Suppliers;


import org.hibernate.Session;
public class findSuppliers_sNumberDAO {
public String[] findSuppliersBysNumber(String name){
Session sess=HibernateSessionFactory.getSession();
String [] goodsname = null;
try {
String hql="select a from Suppliers a where a.sNumber like '"+name+"%' order by a.sCreationTime desc";
Query q=sess.createQuery(hql);
//q.setFirstResult(0);
//q.setMaxResults(8);
List list=q.list();
if(!list.isEmpty()){
List<Suppliers> g = list;
goodsname = new String [g.size()];
for (int i=0;i<list.size();i++) {
goodsname[i] = g.get(i).getSnumber(); //把商品名字放到数组里
}
}
 
} catch (Exception e) {
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
return goodsname;
}
}
}


dwr.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr30.dtd">
<dwr>
<allow>
  <create creator="new" javascript="findSuppliersBysNumber">
  <param name="class" value="com.dao.DWR.findSuppliers_sNumberDAO" />
  </create>
</allow>
</dwr>


JSP 界面

<script>
  function gog()
  {
  var keys = document.getElementById("suppliers.snumber").value;
   
  findSuppliersBysNumber.findSuppliersBysNumber(keys,call1);

  }
   
  function call1(data)  
  {
  if(data!=null){ //当查询结果没数据时,不写这句会报错的
  var keys = document.getElementById("suppliers.snumber").value;
  keys=keys.replace(/(^\s*)|(\s*$)/g,""); //这个是去掉空格,正则功能很强大的
  if(keys != ""){ //如果不判断,一按下键就会有8条数据
  document.getElementById("tishi").innerHTML = "";
  for(var i=0;i<data.length;i++){
  document.getElementById("tishi").innerHTML+="<div onclick=" + "document.getElementById('suppliers.snumber').value=this.innerText" + " onmouseout=" + "this.style.backgroundColor=''"+ " onmouseover=" + "this.style.backgroundColor='#3266CC'>" +data[i] + "</div>" ; //写这语句的时候小心,别写错了
   
  }
  }else{
  document.getElementById("tishi").innerHTML = "";
  } 
  }else{
  document.getElementById("tishi").innerHTML = "";
  }
   
  }
   
</script>

<table>
<tr>
  <input type="text" name="suppliers.snumber" id="suppliers.snumber" onkeyup="gog()" />
  </th>
  </tr>
  <tr>
  <td bgcolor="#F6F6EE"><div id="tishi" ></div></td>
  </tr>
</table>

运行之后 Query q=sess.createQuery(hql);


此断点报错
2012-06-13 11:14:55,765 [org.hibernate.cfg.SettingsFactory]-[INFO] Query language substitutions: {}
2012-06-13 11:14:55,765 [org.hibernate.cfg.SettingsFactory]-[INFO] JPA-QL strict compliance: disabled
2012-06-13 11:14:55,765 [org.hibernate.cfg.SettingsFactory]-[INFO] Second-level cache: enabled
2012-06-13 11:14:55,765 [org.hibernate.cfg.SettingsFactory]-[INFO] Query cache: disabled
2012-06-13 11:14:55,765 [org.hibernate.cfg.SettingsFactory]-[INFO] Cache provider: org.hibernate.cache.NoCacheProvider
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Optimize cache for minimal puts: disabled
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Structured second-level cache entries: disabled
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Statistics: disabled
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Deleted entity synthetic identifier rollback: disabled
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Default entity-mode: pojo
2012-06-13 11:14:55,766 [org.hibernate.cfg.SettingsFactory]-[INFO] Named query checking : enabled
2012-06-13 11:14:55,783 [org.hibernate.impl.SessionFactoryImpl]-[INFO] building session factory
2012-06-13 11:14:55,954 [org.hibernate.impl.SessionFactoryObjectFactory]-[INFO] Not binding factory to JNDI, no JNDI name configured
org.hibernate.QueryException: could not resolve property: sNumber of: com.bean.purchasingManagement.suppliers.Suppliers [select a from com.bean.purchasingManagement.suppliers.Suppliers a where a.sNumber like 'b%' order by a.sCreationTime desc]
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1352)
at org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:281)
at org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:389)
at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:596)
at org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:96)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:92)
at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:834)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1293)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4243)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3866)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1864)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:818)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:604)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:288)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:231)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:231)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:162)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:113)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1624)


at com.dao.DWR.findSuppliers_sNumberDAO.findSuppliersBysNumber(findSuppliers_sNumberDAO.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


[解决办法]
是执行sql报错了吧 那你就把你的sql语句放数据库里面试试 sql有问题
[解决办法]
1、首先确保你DWR配置成功 
2、把SQL在数据库中执行以下 看有没有错误。 。
[解决办法]
dwr没有问题,hibernate有问题

热点排行