... Double price=2;
....
out.print("<td>"+"<a href=");
out.print("/net/cart/AddItemsServlet?itemsId=+name+&price=price&quantity=1&productId=+ProudctId+&userId=+userid+");
out.print(">buy"+"</a></td>");另一页面:
double price = Double.parseDouble(request.getParameter("price"));
报错:
.....
Servlet.service() for servlet AddItemsServlet threw exception
java.lang.NumberFormatException: For input string: "price"
.....
....
out.print("<td>"+"<a href=");
out.print("/net/cart/AddItemsServlet?itemsId=+name+&price=price&quantity=1&productId=+ProudctId+&userId=+userid+");
out.print(">buy"+"</a></td>");另一页面:
double price = Double.parseDouble(request.getParameter("price"));
报错:
.....
Servlet.service() for servlet AddItemsServlet threw exception
java.lang.NumberFormatException: For input string: "price"
.....
double price=Double.parseDouble((new Double(request.getParameter("price"))).doubleValue());
public static double parseDouble(String s)
throws NumberFormatException
Returns a new double initialized to the value represented by the specified String, as performed by the valueOf method of class Double. 这个操作对String是可以做的。
我猜你传如的String不是类似这个的“12.33”,可以被转成double类型的。
而传如的是“aa”这样不能被转成double类型的参数。
Double price=2
........
out.print( "/net/cart/AddItemsServlet?price=" + price); //这样第2个price才会被解释为上面的2//你上面的写法第2个price=price,后面的price会被就当作“price”这个字符串,当然在你后面的//parseDouble(String s) 其实就是parseDouble(“price”) 这里会有错误了。
String userid="yzj";
Collection products=product.getAllProduct();
Iterator it=products.iterator();
while(it.hasNext())
{
Product temp=(Product)it.next();
String ProductId=temp.getProductId();
Double price=temp.getPrice();
String name=temp.getName();
out.print("<tr>");
out.print("<td>"+ProductId+"</td>");
out.print("<td>"+temp.getCategoryId()+"</td>");
out.print("<td>"+name+"</td>");
out.print("<td>"+trans(temp.getProducer())+"</td>");
out.print("<td>"+price+"</td>");
out.print("<td>"+temp.getQuantity()+"</td>");
out.print("<td>"+trans(temp.getDescription())+"</td>");
out.print("<td>"+"<a href=");
out.print("/net/cart/AddItemsServlet?itemsId=+name+&price=''+price&quantity=1&productId=+ProudctId+&userId=+userid+");
out.print(">buy"+"</a></td>");
out.print("</tr>");
}
%>
java.lang.NumberFormatException: For input string: "'' price"
sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
java.lang.Double.parseDouble(Unknown Source)
com.yzj.cart.AddItemsServlet.doGet(AddItemsServlet.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
三楼的兄弟都告诉你哪错了 你用单引号括起来能行么
"/net/cart/AddItemsServlet?itemsId=+name+&price="+price+"&quantity=1&productId=+ProudctId+&userId=+userid+ ");
out.print("/net/cart/AddItemsServlet?itemsId="+name+"&price="+ price +"&quantity="+quantity+"&productId="+ProductId+"&userId="+userid+" ");