DWR 问题 十万火急

vigoss1280 2012-06-13 12:26:02
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)
...全文
240 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vigoss1280 2012-06-14
  • 打赏
  • 举报
回复
其实 是select a from Suppliers a where a.sNumber like '"+name+"%' order by a.sCreationTime desc 当中的a.sNumber 改为a.snumber 就可以了
s478853630 2012-06-13
  • 打赏
  • 举报
回复
dwr没有问题,hibernate有问题
cxw3152 2012-06-13
  • 打赏
  • 举报
回复
1、首先确保你DWR配置成功
2、把SQL在数据库中执行以下 看有没有错误。 。
qiaowan19900712 2012-06-13
  • 打赏
  • 举报
回复
是执行sql报错了吧 那你就把你的sql语句放数据库里面试试 sql有问题
代码转载自:https://pan.quark.cn/s/2af55a97eb0f **INA226测试程序参考** 在电子工程和嵌入式系统开发领域,INA226被认为是一款高精度且低功耗的电流与电源监控器,其应用范围广泛,涵盖电池管理系统、电源路径管理以及智能能源监测等多个方面。该芯片由德州仪器(Texas Instruments)负责生产,能够提供精确的电流和电压测量结果,并具备灵活的配置选择。 **INA226芯片功能详解** INA226的核心特性包括: 1. **双向电流测量**:能够测量流经设备的正向电流和反向电流。 2. **高压和低压测量**:支持高达60V的电压测量,同时可以测量从微安到安培范围内的电流。 3. **内置模拟电路**:集成了一个精密运算放大器、一个电流检测放大器以及一个高精度电压基准。 4. **I2C接口**:通过标准的I2C接口与微控制器进行通信,便于读取测量数据。 5. **多种配置模式**:允许选择不同的电流和电压范围,以适应不同应用场景的需求。 6. **低功耗**:在待机状态下,功耗非常低,适合用于电池供电的设备。 **平台IO与ESP8266开发环境** `PlatformIO`是一个开源的跨平台集成开发环境,专注于物联网(IoT)项目的开发。它整合了构建系统、库管理和设备支持,显著简化了嵌入式开发流程。`ESP8266`是由乐鑫科技推出的一款低成本且高性能的Wi-Fi微控制器,常用于智能家居和物联网领域。 在`PlatformIO`中配置和编写针对`ESP8266`的INA226测试程序,需要遵循以下步骤: 1. **安装PlatformIO**:在IDE(例如Visual Studio Code、Atom等...
已经博主授权,源码转载自 https://pan.quark.cn/s/6b24333d46cf 这里所说的激光扫描测距仪的实质就是3D激光雷达。 如上面视频中展现的那样,扫描仪可 以获取各转角情况下目标物体扫描截面到扫描仪的距离,由于这类数据在可视化后看起来像 是由很多小点组成的云团,因此常被称之为:点云(PointClould)。 在获得扫描的点云后,可以在计算机中重现扫描物体/场景的三维信息。 自制激光3D扫描仪的知识点涵盖了多个方面,包括激光雷达的基本概念、激光扫描测距的原理、以及如何低成本实现3D激光扫描。 以下是对这些知识点的详细阐述。 激光雷达是一种通过激光测距获取物体表面信息的设备。 它通常用于机器人导航、3D模型重建和地图测绘等领域。 激光雷达能够获取目标物体在各个转角情况下的扫描截面到扫描仪的距离,并将这些数据可视化成点云(Point Cloud)。 点云是由大量小点组成的三维数据模型,这些小点模拟了物体或场景的三维结构。 在制造激光3D扫描仪时,需要考虑的关键原理包括激光三角测距原理和线状激光进行截面测距的原理。 激光三角测距原理是指通过测量发射激光与反射激光之间的角度差异来确定距离。 而线状激光进行截面测距原理则是指将点状激光改变成线型光束,一次性获得整个扫描截面的数据。 市面上的激光雷达产品价格昂贵,主要因素包括使用高速光学振镜进行大角度扫描、通过计算发射/反射激光束相位差的测距手段、以及矫正算法和人工成本。 但个人DIY自制激光雷达时,可以通过降低对精度和性能的要求来大幅降低成本。 例如,使用三角测距方式替代成本较高的TOF测距方式,或者使用普通电机机构驱动激光器来替代高速振镜。 自制激光3D扫描仪的实现,可以考虑制作一个能够测量一个点的设备,并采用类似的三角测距...

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧