(Collection<Book>)request.getAttribute("book")为什么不能转换? request.setAttribute()是怎么写的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改成这样Collection c=(Collection)request.getAttribute("book"); 楼主已经说过了,改为=(Collection)request.getAttribute("book"); 也不行 原代码是这样的:<%@ page language="java" pageEncoding="gb2312"%><%@ taglib prefix="c" uri="/WEB-INF/c.tld"%><%@ page import="java.util.*" %><%@ page import= "shiyin.bookShop.bean.*"%><%@ page import= "shiyin.bookShop.shopcart.*"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <link href="css/mycss.css" rel="stylesheet" type="text/css"/> <title>浏览图书</title> </head> <body leftmargin=0 topmargin="0" bottommargin="0" marginwidth="0" marginheight="0"> <div class="top"></div> <div class="main1"></div> <div class="main2"><center> <p> </p> <p> <a href="<%=request.getContextPath() %>/querybook.jsp">继续查询</a> <a href="<%=request.getContextPath() %>/showcart.jsp">查看购物车</a> </p> <table border="1"><% if(!request.getAttribute("type").equals("BY_ISBN")) { Collection<Book> books =(Collection<Book>)request.getAttribute("book"); Iterator<Book> ibooks=books.iterator(); while(ibooks.hasNext()){ Book book=ibooks.next(); %><tr> <td><%=book.getIsbn() %></td> <td><%=book.getTitle() %></td> <td><%=book.getAuthor() %></td> <td><%=book.getPrice() %></td> <td><a href="shoppingCart?operation=addItem&isbn=<%=book.getIsbn() %>">加入购物车</a></td></tr><%} %> </table> <% }else{ BookDetails book=new BookDetails(); book=(BookDetails)request.getAttribute("book"); if(book==null){%> <span class="bodytxt">对不起,本书店没有你要求的书</span><%=request.getAttribute("key") %> <% return; } else{ %> <p class="bodyh1">你的查询结果是: </p> <table border=1> <tr> <td class="bodytxt">ISBN</td> <td class="bodytxt">书名</td> <td class="bodytxt">作者</td> <td class="bodytxt">价格</td> </tr> <tr> <c:set var="bookItem" value="${requestScope.book}"/> <td><c:out value="${bookItem.isbn}" /></td> <td><c:out value="${bookItem.title}" /></td> <td><c:out value="${bookItem.author}" /></td> <td><c:out value="${bookItem.price}" /></td> <td><a href="shoppingcart?operation=addItem&isdn=<c:out value="${bookitem.isbn}" />">加入购物车</a></td> </tr> </table> <% } } %> </center> <div class="txt">2005-2008</div> </div> <div class="main3"></div> </body></html> 报错是这个:org.apache.jasper.JasperException: Exception in JSP: /browse.jsp:2421: </p>22: <table border="1">23: <%24: if(!request.getAttribute("type").equals("BY_ISBN"))25: {26: Collection<Book> books =(Collection<Book>)request.getAttribute("book");27: Iterator<Book> ibooks=books.iterator();java.lang.NullPointerException org.apache.jsp.browse_jsp._jspService(browse_jsp.java:90) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) shiyin.bookShop.servlet.loginServlet.doBrowse(loginServlet.java:67) shiyin.bookShop.servlet.loginServlet.doLogin(loginServlet.java:54) shiyin.bookShop.servlet.loginServlet.doPost(loginServlet.java:31) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) shiyin.bookShop.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:18) LZ, if(!request.getAttribute("type").equals("BY_ISBN"))type是什么?你改成request.getParameter("type");这样看看 if(!request.getAttribute("type").equals("BY_ISBN"))改成if(!"BY_ISBN".equals(request.getAttribute("type"))如果不行,改成if(!"BY_ISBN".equals(request.getParameter("type")) 我的那个“tpye”servlet那里传过来的 servlet中有这样的代码 request.setAttribute("book", booklist); request.setAttribute("key", varkey); request.setAttribute("type",vartype); 我把代码if(!request.getAttribute("type").equals("BY_ISBN"))改成if(!"BY_ISBN".equals(request.getParameter("type"))可以运行了,但是那个Collection<Book> books =(Collection<Book>)request.getAttribute("book");警告还是还有,jsp的request.getAttribute("book");就是不能强制转换为泛型。还什么办法可以弄呢? 那个警告你就别指望能去掉了。这个问题讨论过很多次。OVER.http://topic.csdn.net/u/20080123/03/1e041618-c3f7-493b-b257-d0447860ac0f.html 你可以这样试试看if(!request.getParameter("type").equals("BY_ISBN")){ Collection books =(Collection)request.getAttribute("book"); Iterator ibooks=books.iterator(); while(ibooks.hasNext()){ Book book=(Book)ibooks.next(); }} struts 和 Jsp 的问题 请教关于struts1.2 标签的问题 传值问题 weblogic创建连接池报错 一个挑战自我的排序问题!请看看!!! javaScript分页问题 求救,用jdbc插入数据的时候,中文出现乱码如何解决? 请教java老师 很多人在网上给的例子,Account.java,我这老出现这个问题。。。。。 已经有一棵tree,有什么办法可以得到他的root节点? 如何将一个java文件编译成web Service? dwr 回调函数问题
Collection c=(Collection)request.getAttribute("book");
<%@ taglib prefix="c" uri="/WEB-INF/c.tld"%>
<%@ page import="java.util.*" %>
<%@ page import= "shiyin.bookShop.bean.*"%>
<%@ page import= "shiyin.bookShop.shopcart.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link href="css/mycss.css" rel="stylesheet" type="text/css"/>
<title>浏览图书</title>
</head>
<body leftmargin=0 topmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<div class="top"></div>
<div class="main1"></div>
<div class="main2"><center>
<p> </p>
<p>
<a href="<%=request.getContextPath() %>/querybook.jsp">继续查询</a>
<a href="<%=request.getContextPath() %>/showcart.jsp">查看购物车</a>
</p>
<table border="1">
<%
if(!request.getAttribute("type").equals("BY_ISBN"))
{
Collection<Book> books =(Collection<Book>)request.getAttribute("book");
Iterator<Book> ibooks=books.iterator();
while(ibooks.hasNext()){
Book book=ibooks.next();
%>
<tr>
<td><%=book.getIsbn() %></td>
<td><%=book.getTitle() %></td>
<td><%=book.getAuthor() %></td>
<td><%=book.getPrice() %></td>
<td><a href="shoppingCart?operation=addItem&isbn=<%=book.getIsbn() %>">加入购物车</a></td>
</tr>
<%
}
%>
</table>
<%
}else{
BookDetails book=new BookDetails();
book=(BookDetails)request.getAttribute("book");
if(book==null){%>
<span class="bodytxt">对不起,本书店没有你要求的书</span><%=request.getAttribute("key") %>
<%
return;
}
else{
%>
<p class="bodyh1">你的查询结果是: </p>
<table border=1>
<tr>
<td class="bodytxt">ISBN</td>
<td class="bodytxt">书名</td>
<td class="bodytxt">作者</td>
<td class="bodytxt">价格</td>
</tr>
<tr>
<c:set var="bookItem" value="${requestScope.book}"/>
<td><c:out value="${bookItem.isbn}" /></td>
<td><c:out value="${bookItem.title}" /></td>
<td><c:out value="${bookItem.author}" /></td>
<td><c:out value="${bookItem.price}" /></td>
<td><a href="shoppingcart?operation=addItem&isdn=<c:out value="${bookitem.isbn}" />">加入购物车</a></td>
</tr>
</table>
<%
}
}
%>
</center>
<div class="txt">2005-2008</div>
</div>
<div class="main3"></div>
</body>
</html>
22: <table border="1">
23: <%
24: if(!request.getAttribute("type").equals("BY_ISBN"))
25: {
26: Collection<Book> books =(Collection<Book>)request.getAttribute("book");
27: Iterator<Book> ibooks=books.iterator();
java.lang.NullPointerException
org.apache.jsp.browse_jsp._jspService(browse_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
shiyin.bookShop.servlet.loginServlet.doBrowse(loginServlet.java:67)
shiyin.bookShop.servlet.loginServlet.doLogin(loginServlet.java:54)
shiyin.bookShop.servlet.loginServlet.doPost(loginServlet.java:31)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
shiyin.bookShop.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:18)
if(!request.getAttribute("type").equals("BY_ISBN"))
type是什么?你改成request.getParameter("type");这样看看
改成if(!"BY_ISBN".equals(request.getAttribute("type"))如果不行,改成if(!"BY_ISBN".equals(request.getParameter("type"))
request.setAttribute("book", booklist);
request.setAttribute("key", varkey);
request.setAttribute("type",vartype);
if(!"BY_ISBN".equals(request.getParameter("type"))
可以运行了,但是那个Collection<Book> books =(Collection<Book>)request.getAttribute("book");
警告还是还有,jsp的request.getAttribute("book");就是不能强制转换为泛型。还什么办法可以弄呢?
Collection books =(Collection)request.getAttribute("book");
Iterator ibooks=books.iterator();
while(ibooks.hasNext()){
Book book=(Book)ibooks.next();
}
}