在一个javaclass里面有 public List GetCurrency(){
CurrencyDAO dao = (CurrencyDAO) ctx.getBean("CurrencyDAO");
List<Currency> list = dao.findAll();
List CurrencyList = new ArrayList();
for(int i=0;i<list.size();i++){
List Currlist = new ArrayList();
Currlist.add(list.get(i).getCurrcode());
Currlist.add(list.get(i).getSymbol());
Currlist.add(list.get(i).getCurrencyiso().getAlphacode());
CurrencyList.add(Currlist);
}
return CurrencyList;
}我用dwr暴露给了html页面我执行这个方法的话就会报错弹出error的提示
抛出空指针异常
在java中调用这个方法的时候能正确的打印出数据
跟踪发现是执行到CurrencyDAO中的return getHibernateTemplate().find(queryString);时抛出的我java中执行没问题
为什么在dwr中调用就出了那样的问题呢?
难倒是连接的问题
由于有一百多张关联的表,查寻数据要一分多钟
会不会是连接的问题
怎么解决
希望高手指教!
CurrencyDAO dao = (CurrencyDAO) ctx.getBean("CurrencyDAO");
List<Currency> list = dao.findAll();
List CurrencyList = new ArrayList();
for(int i=0;i<list.size();i++){
List Currlist = new ArrayList();
Currlist.add(list.get(i).getCurrcode());
Currlist.add(list.get(i).getSymbol());
Currlist.add(list.get(i).getCurrencyiso().getAlphacode());
CurrencyList.add(Currlist);
}
return CurrencyList;
}我用dwr暴露给了html页面我执行这个方法的话就会报错弹出error的提示
抛出空指针异常
在java中调用这个方法的时候能正确的打印出数据
跟踪发现是执行到CurrencyDAO中的return getHibernateTemplate().find(queryString);时抛出的我java中执行没问题
为什么在dwr中调用就出了那样的问题呢?
难倒是连接的问题
由于有一百多张关联的表,查寻数据要一分多钟
会不会是连接的问题
怎么解决
希望高手指教!
for(int i=0;i<list.size();i++){}
改成for(int i=1;i<list.size()+1;i++){}
再说for这里就是这样写才对
你那样写list.get(i)就有错了!
所以报错
有数据显示正常
但是我在servlet和dwr中调用都会出现异常
这是怎么回事???
单机测试
只运行一次都要报错
你还敢把它丢到b/s环境下去
他们两个的运行都是两回事
把dwr调用javaBean的方法贴一下
估计list没取到值,lz看一下配置有没有问题
根本就没值吧 !! 判断下list 不为NULL 在向下执行吧 ..
还有LZ下面这样写有意思么??为什么不直接 return list ;
既然用了dwr 也就说在js 中可以象java 一样调用方法
既然在java 中可以正常使用,那就是dwr 操作时出的问题,
建议把dwr 调用代码贴出来看下.
下面代码是我在操作中的方法:<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/interface/listService.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/engine.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/util.js'></script>
<script type="text/javascript">
function test(){
DWRUtil.useLoadingMessage();
listService.getList(show);
}
function show(list){
DWRUtil.removeAllOptions('dropdown');
DWRUtil.addOptions('dropdown',list,'property2','property1');
}
</script><body>
<table border="1">
<tr><td><select name="dropdown" id="dropdown" size="8"></select> </td></tr>
</table>
</body><dwr>
<allow>
<create creator="new" javascript="listService">
<param name="class" value="cn.balancetech.hr.listServiceBean"/>
</create>
</allow>
</dwr>
getList方法是listServiceBean类中的方法 返回的是 List
然后是就是你的依赖注入 有问题。