请问这个循环是错哪了呢?

问题描述

后台获得3条记录,在首页以FOR循环出下拉框,但是错误。报错信息为:2012-05-2209:25:16,499[com.database.DataBaseOperator]-[INFO]查询语句为:selecta.account_name,c.dic_namebank_name,a.account,b.CAN_WITHDRAWPRICEfromdeveloper_usera,developer_totalsaleslistb,diccwhere1=1anda.developer_id=b.developer_idandc.dic_id=a.bank_nameanda.developer_id=32012-05-2209:25:16,509[com.database.DataBaseOperator]-[INFO]selecta.account_name,c.dic_namebank_name,a.account,b.CAN_WITHDRAWPRICEfromdeveloper_usera,developer_totalsaleslistb,diccwhere1=1anda.developer_id=b.developer_idandc.dic_id=a.bank_nameanda.developer_id=3/n共查询1条记录!2012-05-2209:25:16,509[com.lb.nt.clientAPI.Operator.JsonUtil]-[INFO]正在进行List转换成JSON操作...............2012-05-2209:25:16,509[com.lb.nt.clientAPI.Operator.JsonUtil]-[INFO]将List转换成JSON操作完成!2012-05-2209:25:16,509[com.database.DataBaseOperator]-[INFO]查询语句为:select*fromdictwhere1=1anddic_type_id=92012-05-2209:25:16,521[com.database.DataBaseOperator]-[INFO]select*fromdictwhere1=1anddic_type_id=9/n共查询3条记录!2012-5-229:25:16org.apache.catalina.core.StandardWrapperValveinvoke严重:Servlet.service()forservlet[jsp]incontextwithpath[/develop]threwexception[AnexceptionoccurredprocessingJSPpage/finace/carry_application.jspatline3633:开户人:&nbsp<inputtype="text"id="holder"value="<%=((JSONObject)jsonArray.get(0)).get("account_name").toString()%>"readonly><br/>34:结账方式:<selectdisabled="disabled">35:<%36:for(inti=0;i<list.size();i++){37:DynaBeandb=(DynaBean)list.get(i);%>38:<optionvalue="<%=db.get("dic_id").toString()%>"><%=db.get("dic_name").toString()%></option>39:<%}%>Stacktrace:]withrootcausejava.lang.NullPointerExceptionatorg.apache.jsp.finace.carry_005fapplication_jsp._jspService(carry_005fapplication_jsp.java:112)atorg.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:722)atorg.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)atorg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)atorg.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:722)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)atorg.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)atjava.lang.Thread.run(Thread.java:662)

后台代码为:publicstaticJSONArraygetpaytype(HttpServletRequestrequest){JSONArrayjsonArray=null;Stringsql=("select*fromdictwhere1=1anddic_type_id=9");List<DynaBean>list=DataBaseOperator.queryList(sql.toString());returnjsonArray;

前台页面为:<selectdisabled="disabled"><%for(inti=0;i<list.size();i++){DynaBeandb=(DynaBean)list.get(i);%><optionvalue="<%=db.get("dic_id").toString()%>"><%=db.get("dic_name").toString()%></option><%}%></select><br/>

请指教这个循环是错在哪里

解决方案

解决方案二:
Stacktrace:]withrootcause
解决方案三:
你看看你的list里有值没?
解决方案四:
报错不是很明白了吗!jsp36行出现了空指针...既然36行是for循环,那自然i<list.size();有问题。。。
解决方案五:
33:开户人:&nbsp<inputtype="text"id="holder"value="<%=((JSONObject)jsonArray.get(0)).get("account_name").toString()%>"readonly><br/>34:结账方式:<selectdisabled="disabled">35:<%36:for(inti=0;i<list.size();i++){37:DynaBeandb=(DynaBean)list.get(i);%>38:<optionvalue="<%=db.get("dic_id").toString()%>"><%=db.get("dic_name").toString()%></option>39:<%}%>Stacktrace:]withrootcausejava.lang.NullPointerException1、没有看到你判断jsonArray是否为空的情况2、也没有看到判断list是否为空的情况3、而你的程序恰好是报了空指针,你说呢,在使用返回的数组或者对象之前还是判断一下是否为null先吧换成这样子试试:<%if(list!=null){DynaBeandb=null;//在外面定义,免得每次做一个循环都需要定义一个,如果jvm不及时释放的话,占用栈空间for(inti=0;i<list.size();i++){db=(DynaBean)list.get(i);%><optionvalue="<%=db.get("dic_id").toString()%>"><%=db.get("dic_name").toString()%></option><%}}%>

解决方案六:
自古2楼出真相啊...输出这个List的size,看看有值否?
解决方案七:
引用5楼的回复:

自古2楼出真相啊...输出这个List的size,看看有值否?

这里就是List的size方法出错了,还输出,能输出就不报错了,贼应该是List为null,
解决方案八:
list==null
解决方案九:
该回复于2012-05-22 11:35:35被版主删除
解决方案十:
list在页面就没得到值吧?你这个之前也不判断下。
解决方案十一:
很明显的问题list为null了
解决方案十二:
publicstaticJSONArraygetpaytype(HttpServletRequestrequest){JSONArrayjsonArray=null;Stringsql=("select*fromdictwhere1=1anddic_type_id=9");List<DynaBean>list=DataBaseOperator.queryList(sql.toString());returnjsonArray;jsonArray是空的,JSP页面肯定取不到了

时间: 2024-09-18 06:44:34

请问这个循环是错哪了呢?的相关文章

关于list集合增强for循环报错

问题描述 关于list集合增强for循环报错 public class ForTest { public static void main(String[] args){ List list = new List(); for(int i=0;i<0x20;i++){ for(int j=0;j<i;j++){ if(j*j==i){ list.add(i+""""); break; } } } for(String s:list){ System.ou

指针-请问这道程序到底错在什么地方?

问题描述 请问这道程序到底错在什么地方? #include int mian() { int i, a[10], *p ; p = a; printf("please input 10 number:"); for (i = 0; i < 10; i++) scanf("%d",p++); p = a; for (i = 0; i < 10; i++, p++) printf("%d",*p); printf("n"

c语言-请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了?

问题描述 请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了? #include void chline(char, int, int); int main() { int n, m; char ch; printf("Please enter an character:n"); scanf_s("%c", &ch); printf("Please enter two integers:n"); scanf_s("

c++-c++题目,输入一些单词,当出现相同单词的时候将这个单词输出,请问我写的错哪儿了?

问题描述 c++题目,输入一些单词,当出现相同单词的时候将这个单词输出,请问我写的错哪儿了? #include #include using std::cin; using std::cout; using std::vector; using std::string; using std::endl; int main () { vector x; string i; auto a = x.begin(); auto b = x.end(); while (cin>>i) { x.push_

请问这段程序错哪了?

问题描述 usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclass_Default:

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。请问我哪里弄错啦 为什么一点击登录就出错

问题描述 web.config代码<?xmlversion="1.0"?><configuration><system.web><compilationdebug="true"targetFramework="4.0"/></system.web><appSettings><addkey="SqlConnStrName"value="ser

jboss-JBOSS4 在运行过程中突然不停地报错DLQ not bound是什么原因?

问题描述 JBOSS4 在运行过程中突然不停地报错DLQ not bound是什么原因? JBOSS4 在运行过程中突然不停地循环报错DLQ not bound,但是运行系统连接JBOSS还是正常的,而且业务也能正常执行,请问这个是什么原因导致的呢?怎么预防和停止报错?

j uery ajax-jquery 报错提示有未定义

问题描述 jquery 报错提示有未定义 java程序,目的是:遍历Table中的Checkbox,如果被check了,则调用后台FileListServlet中的某个action 初步涉及,写了如下脚本,请问为什么一直报错:Uncaught ReferenceError: $ is not defined $("#btnExecute").click(function(){ $("#tbFileList").find(":checkbox:checked

循环语句和switch...case

问题描述 循环语句和switch...case 请问在循环语句中使用了switch...case,如何在分支结束后再执行另一个分支? 解决方案 分支结束后再执行另一个分支什么意思? 你可以用贯穿的标号: switch (day) { case 1: case 2: ... case 5: cout << "work day "; case 6: case 7: cout << "rest day "; default: cout <&l