我在写从jsp页面传值进入Action中进行方法调用处理遇到了一个错误:

java.lang.reflect.InvocationTargetExceptionsun.reflect.NativeMethodAccessorImpl.invok... java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)

.........
root cause
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
org.hibernate.hql.ast.HqlSqlWalker.generatePositionalParameter(HqlSqlWalker.java:896)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4819)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4243)

在Action中可以获取页面中传来的值,但是在调用方法的时候出错了。我定义的方法是:
public List searchByDeparture(String Departure) {
Session session = getSession();
Query query = session.createQuery("from AirInfo airInfo where airInfo.departure=?");//创建query对象
query.setString(0,Departure);
List list = query.list();//执行查询,获得结果
Iterator iterator = list.iterator();//遍历查询结果
while (iterator.hasNext()){
AirInfo airInfo = (AirInfo)iterator.next();
}
return list;
}
求大神帮忙
展开
 我来答
諆實詪軟鰯Dq
2013-06-09 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:158万
展开全部
字面可以看出,是反射调用方法时出现的异常。解决办法:1.需要调用的方法文件名称是否正确。2.查看要反射的方法所依赖的文件(序列化到硬盘的文件,jna或jni调用的dll等)是否真的包含这个方法,或文件对应程序的版本是否正确。3.序列化文件时编译器的JDK版本和调用序列化文件时JDK版本是否合适。一般情况:调用程序JDK版本>=编译序列化文件时的版本。4.如果是applet被js通过网页调用:可能会同时报出java.security.PrivilegedActionException错误。这个时候就需要考虑applet是否被给予了一些权限。可能是由于没有权利访问本地文件,从而造成方法反射调用错误的原因。目前想到这些,随时更新中........
追问
还是谢谢你。是hql问题,可是我不知道是什么原因:用第一个可以,第二个反而不行:

第一个:Query query = session.createQuery("from AirInfo airInfo where airInfo.departure='"+Departure+"'");
追答
不好意思 没帮到你
百度网友a668673
2013-06-09 · TA获得超过527个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:343万
展开全部
应该是Hibernate的问题,多注意一下你的实体类和映射文件啥的。NoSuchMethodError
应该是你的类属性和映射文件没对应好。你先把查询对象的部分测试好了再放入Action中......
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式