日期:2014-05-18  浏览次数:20796 次

求助 大家好。我请教个问题。。
大家好。我请教个问题。。
<a href="gouwu.jsp?ProductList=ProductList">清空购物车</a>
这是购物gouwu.jsp的里面清空的连接 我想在本页接传过去的参数

ProductList=ProductList
然后做个判断。。请问这个判断怎么判断两个字符相等。。
String st = request.getParameter("ProductList");
if (st.equals("ProductList"))
{
cart.clear();
out.print("<script>alert('清除成功!');window.location.href='index.jsp';</script>");
}
上面这样。抛空指针。是不是如果st为NULL就不能用equals?那怎么办?用==可以吗?
各位详细给我讲一下==和equals。。新手特迷茫。。。
还有。上面的问题。有没有更好的解决办法。。比如。。
可不可以点完清空直接在本页调我JAVABEAN的方法?我总觉得上面的方法好像很别扭。谢谢大家。。

------解决方案--------------------
st为null是不可以调用equals方法
==是比较两个引用指向的是否是同一个对象
equals用来比较两个对象打值是否一样,可能需要自己覆盖这个方法
if (st.equals("ProductList")) 
--->
if ("ProductList".equals(st)) 
或者
if (st != null && st.equals("ProductList")) 

可不可以点完清空直接在本页调我JAVABEAN的方法?
可以的吧,只不过是点完以后回到那里的问题,不过当前页面可能需要做一些分支判断
------解决方案--------------------
if ("ProductList".equals(st)) { 
cart.clear(); 
out.print(" <script> alert('清除成功!');window.location.href='index.jsp'; </script> "); 


------解决方案--------------------
Thrown when an application attempts to use null in a case where an object is required.
应用程序用到null就会抛此异常 一共5种情况 如1楼想办法避免