-
高手看看这个jsp看看错哪里了!!!30
<%
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
%>
<tr>
<td width="150"><%=model.getAuthorID()%></td>
<td width="300"><%=model.getFirstName()%></td>
<td width="300"><%=model.getLastName()%></td>
<td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=model.getAuthorID() %>">删除</a></td>
</tr>
<%
运行时出现空指针异常,出现在model.getAuthorID(),也就是model为空
问题补充:<%@page contentType="text/html;charset=gbk" %>
<%@page import="com.runwit.books.db.AuthorDAO"%>
<%@page import="java.util.List"%>
<%@page import="com.runwit.books.model.AuthorModel"%>
这是引包的部分
问题补充:longxiaoyan 写道哦,你前面已经判断了。估计authors 就是空的,后面的都没执行。
后面的执行了,我能确定,因为在AuthorModel model = authors.get(1); 前面加上if(authors.get(1) !=null){。。。}并把后面的代码框住就不执行了,也就是说authors不等于null而authors.get(1)确等于null,注明我authors有4个元素。
问题补充:longxiaoyan 写道后面加两个}
<%
//}
}}}
%>
这里已经有了
问题补充:redstarofsleep 写道引用
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
这段代码是不是有问题,authors不为空,并且长度不是0的情况下,从里面get(1),拿第2个元素?如果只有一个元素呢?
有4个元素,我有判断过authors.size==4,并且get(0)也一样报错
问题补充:高级java工程师 写道if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(i); 你get(i)
我是grt(1)不是get(i)
问题补充:bd_cool 写道“也就是说authors不等于null而authors.get(1)确等于null,注明我authors有4个元素。 ”
authors给的有问题,值不连续。
什么叫值不连续?能具体说说吗?authors的定义如下:
List<AuthorModel> authors2012年3月11日 11:33
56个答案 按时间排序 按投票排序
-
这个问题 我也遇到过 在写ssi的时候 其实你的authors 集合里面有值 不过都是空
{null,null,null,null} size=4
我想你应该是没取到值2012年3月26日 10:44
-
首先应该确认一下,authors变量是否被用于多个线程了,如果是的话,可能是由于在其它线程中对authors中的元素进行了删除操作。
第二,AuthorModel model = authors.get(1); 这句有问题,为什么要写1呢?而不是i呢?
第三,确保获取的model不为空,即if(null != model) {//do your business}2012年3月25日 15:50
-
你只对authors做了是否有item的判断,这判断只能说明authors至少有一个item项,有可能就只有一个,不过,你设置model时是取的第二个item.
所以,当authors的大小是1时,model肯定就是空值了.2012年3月24日 10:37
-
<tr>
<td width="150"><%=model.getAuthorID()%></td>
<td width="300"><%=model.getFirstName()%></td>
<td width="300"><%=model.getLastName()%></td>
<td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=model.getAuthorID() %>">删除</a></td>
</tr>
指针指向问题。
按我下列代码尝试修改
<% Integer id =model.getAuthorID()%>
<td width="150"><%=id%></td>
<td width="300"><%=model.getFirstName()%></td>
<td width="300"><%=model.getLastName()%></td>
<td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=id %>">删除</a></td>2012年3月23日 17:56
-
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
这边是有问题的,authors.size() != 0 ,你就authors.get(1)? 最多authors.get(0)2012年3月23日 13:29
-
AuthorModel model1 = new AuthorModel();
AuthorModel model2 = new AuthorModel();
AuthorModel model3 = new AuthorModel();
AuthorModel model4 = new AuthorModel();
List<AuthorModel > authors = new ArrayList<AuthorModel>();
authors.add(model1);
authors.add(model2);
authors.add(model3);
authors.add(model4);
你看看这些代码在运行一下,你的问题出现在这里,明白吧?
如果还不是的,请debug。2012年3月23日 10:22
-
你这个AuthorModel 类是什么,如果是list的get(0)应该没问题,如果你继承了Map,那个get(0)取的就是key了
2012年3月23日 09:35
-
按您说的,您可以把authors里的东西全部打印到页面上,一目了然,然后在看是哪里为空!
<% if(authors != null){ if(authors.size() != 0){ for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(i); %> <tr> <td width="150"><%=model.getAuthorID()%></td> <td width="300"><%=model.getFirstName()%></td> <td width="300"><%=model.getLastName()%></td> <td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=model.getAuthorID() %>">删除</a></td> </tr> <%}}%>
2012年3月21日 09:52
-
if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ //注意这里,用get(i)因为你get(1)可能对象是空了 AuthorModel model = authors.get(i); %>
2012年3月21日 09:45
-
集合的size大于0,并不代表集合里边的元素不是null啊,看下面例子:
List list = new ArrayList();
list.add(null);
list.add(null);
结果:list.size()==2;
list.get(0) == null;
明白了没有?
public void testList(){
List<?> list = new ArrayList<Object>();
list.add(null);
list.add(null);
assertEquals(list.size(), 2);
assertNull(list.get(0));
}2012年3月21日 08:48
-
调试一下
看看authors.get(1)是不是null,
authors的size为4,并不代表authors.get(1)不为null!
如【liveHappy】:不成对象,调用方法是不识别的,如果能找到?找不到就是常报NullPrint空指针异常。2012年3月20日 11:27
-
我的估计是本来authors .size==1,所以authors!=null&&authors.size()!=0;但authors.get(1)==null;后面就报空指针了,如果真是如此,get(1)改成get(0)即可
2012年3月19日 17:50
-
你是不是把4个null add进去了啊,null也算一个对象的吧,照你的程序,list size>0但是里面的对象却为空很有可能是这个问题啊
2012年3月19日 14:42
-
<% if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(1); %>
你是想把所有的数据显示出来,还是仅仅显示一条,
一条的话,仅仅取第一条 应该是get(0), 而且你判断的是size()!=0 ,只能保证authors中至少有一条数据,
显示所有的话,就用get(i).2012年3月19日 10:24
-
AuthorModel model = authors.get(1);
应该是 AuthorModel model = authors.get(0);
2012年3月17日 16:02
-
简单一点,你直接给list对象先赋值,看看能不能读出来,然后再bean中输出查询的结果,有的话,说明页面有问题,没有的话,说明就是空值?你说呢?
2012年3月15日 14:13
-
<%
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(i);
if(model!=null){
%>
<tr>
<td width="150"><%=model.getAuthorID()%></td>
<td width="300"><%=model.getFirstName()%></td>
<td width="300"><%=model.getLastName()%></td>
<td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=model.getAuthorID() %>">删除</a></td>
</tr>
<%
}
注意我加粗的两行。第一要么取get(0)要么get(i),第二判断model!=null2012年3月14日 18:51
-
for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(i);
这里是get(i)不是get(1)2012年3月13日 23:11
-
// for(int i = 0;i<authors.size();i++){
这里注释掉是什么意思?是故意这样写的吗?还是有其它意思?2012年3月13日 15:27
-
AuthorModel model = authors.get(1);
应该是AuthorModel 对象,你引用的是<%@page import="com.runwit.books.model.AuthorModel"%> 包,
但你应该是犯了一个java大忌,对象要实例才为对象。
AuthorModel model = new AuthorModel();
model = authors.get(1);
不成对象,调用方法是不识别的,如果能找到?找不到就是常报NullPrint空指针异常。2012年3月13日 01:02
-
你的authors里边放的是null,关键是,你的这个authors是在哪儿设置的值,在那里判断是否为null就好了,如果为null就不要加到authors里边就ok了。或者,这里多加一个判断:
。。。 AuthorModel model = authors.get(1); if(model!=null){ %> <tr> <td width="150"><%=model.getAuthorID()%></td> <td width="300"><%=model.getFirstName()%></td> <td width="300"><%=model.getLastName()%></td> <td width="230"><a href="">修改</a> | <a href="delete.jsp?id=<%=model.getAuthorID() %>">删除</a></td> </tr> <% } 。。。
2012年3月12日 10:12
-
引用什么叫值不连续?能具体说说吗?authors的定义如下:
List<AuthorModel> authors
所谓不连续就是说,authors.get(0) !=null,而authors.get(1) ==null,再者authors.get(2) !=null,都为true.2012年3月11日 18:39
-
“也就是说authors不等于null而authors.get(1)确等于null,注明我authors有4个元素。 ”
authors给的有问题,值不连续。2012年3月11日 16:27
-
if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(i); 你get(i)
2012年3月11日 14:38
-
引用
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
这段代码是不是有问题,authors不为空,并且长度不是0的情况下,从里面get(1),拿第2个元素?如果只有一个元素呢?2012年3月11日 13:52
-
引用
<% 这里要引包。。。。。。。。。。。。。。。 if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(1); %>
也就是"高级java工程师"所指出的。
你可以这样改一下,if(authors != null){ //if(authors.size() != 0){ for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(i);
2012年3月11日 13:48
-
<%
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
}
}
%>2012年3月11日 13:10
-
<% 这里要引包。。。。。。。。。。。。。。。 if(authors != null){ if(authors.size() != 0){ // for(int i = 0;i<authors.size();i++){ AuthorModel model = authors.get(1); %>
2012年3月11日 11:45
-
<%
这里要引包。。。。。。。。。。。。。。。
if(authors != null){
if(authors.size() != 0){
// for(int i = 0;i<authors.size();i++){
AuthorModel model = authors.get(1);
%>
2012年3月11日 11:38
相关推荐
要精通JSP的学习者可以看看,能够指导你什么态度去学习JSP
眼下,关于asp,jsp,php的动态网页技术的讨论可谓铺天盖地,尤其是asp,由于其容易上手(和vb差不多),在一些...对于jsp技术,本人只是知道毛皮,这篇文章也只是抱着讨论的目的,有什么不妥、不是之处还望高手海涵。
我的名字叫张帅,我很喜欢JSP。刚刚毕业,还没有找到工作,心里是郁闷的很...希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用,HOHO,千万另忘了告诉我呀,我的QQ:153815077
用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了...
Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢消息,消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在...
本论坛信息管理系统 是采用jsp,servlet,javabean....等技术,采用MVC模式, MyEclipse 6.0.1和SQL2005开发的、 本包里面有数据库文件,附加数据库可以直接运行看效果 本系统肯定有许多漏洞。由于时间关系(技术有限)...
从文件名来看,这是一个分部分的集合,包括四个部分:part1到part4,这通常意味着内容较多,可能涵盖了Java的各个方面。 Java编程的基础知识点包括但不限于: 1. **基础语法**:如变量、数据类型、运算符、控制...
用法:不用写连接数据库等多余代码(在ConnLink.java文件中修改一下相关属性就可以了,如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了...
就是楼主上个学生管理系统改的,蛋疼的severlet,具体搭载方法,所需软件见包里面的系统搭载说明书,楼主花了好多小时做的小白化说明书,数据库文件自己导入到数据库中,详情也见搭载说明书,实话说,你看完后要还是...
这是搞的别人的,看了一下,非常适合入门级的选手,高手的话就没拿必要了。这个只是ppt课件,入门可以,如果想权威的学习的话,还是买书吧。不过可以先看ppt,在看书,可以更容易理解
修正版 以前有几处错误,现已经改正,并增加了几个功能,在此万分的报欠 ...希望高手能继续改良,让这段代码更精一些。HOHO~~~~改完之的一定要发到网上供大家参考和使用,HOHO,千万另忘了告诉我呀,我的QQ:153815077
jsp动态html,静态页面源码(1) java从菜鸟到大牛技术资料集合(1) 检查网站错误(1) 无刷新(1) 批量上传(1) dos入门,dos代码,dos教材(1) c#零基础到高手教程(1) div+css,做的网站,新手可以参考代码(天雷小组)(1) ...
jsp无组件(1) jsp动态生成,jsp动态html,静态页面源码(1) java从菜鸟到大牛技术资料集合(1) 检查网站错误(1) 无刷新(1) 批量上传(1) dos入门,dos代码,dos教材(1) c#零基础到高手教程(1) div+css,做的网站,新手可以...
本教程将深入讲解这个“一看就会”的简单过滤器,并通过DEMO演示其工作原理和实现方法。 过滤器的主要作用是拦截请求或响应,进行预处理或后处理。在Web应用程序中,它可以在请求到达目标Servlet或者JSP之前进行...
信息筛选,搜索出来的结果不见得能够完全匹配,建议大家多阅读前几页的搜索结果,多打开几个网页看看,不过,我的经验是超过3页一般就没意义了,所以超过3页还没有找到合适的答案,或许应该调整一下关键词,或者放...
Java基础是编程学习的重要起点,尤其对于初学者来说,掌握扎实的Java基础知识是成为优秀程序员的基础。...这个压缩包中的资料可能包含了这些内容的讲解和示例,对于自学Java的人来说,是一份不错的学习资源。
Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢...
Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢消息,消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在...
Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢...