java.lang.NumberFormatException: For input string: "all"
出现上面的异常!
在jsp页面中,是下面的html代码:
<tr>
<td height="50" colspan="2" align="center"> <b>请输入关键字查找: </b> <input name="search" type="text">
<select name="fl">
<option value="all" selected>所有资讯 </option>
<option value="4" >国内快讯 </option>
<option value="3" >国际快讯 </option>
<option value="1" >市场行情 </option>
<option value="2" >新产品新技术 </option>
</select> <input type="submit" name="Submit" value="查找"> </td>
</tr>
<%//这里是部分 引用到的代码!
HardWare hw=(HardWare)session.getAttribute("hw");
String cif=request.getParameter("fl");//保存查询字段
if(cif!=null)
hw.setCif(cif);
%>
下面是另外的一段代码:
public String getSqlString(String table){
if (cif=="all".trim()){
if(qvalue!=""){
String sqlStr="select * from "+table+" where title like '%"+
qvalue+"%' order by date desc";
return sqlStr;
}else{
String sqlStr="select * from "+table+" order by date desc";
return sqlStr;
}
}else{
if (qvalue!=""){
String sqlStr="select * from "+table+" where fenlei="+
Integer.parseInt(cif)+" and title like '%"+
qvalue+"%' order by date desc";
return sqlStr;
}else{
String sqlStr="select * from "+table+" where fenlei="+
Integer.parseInt(cif)+" order by date desc";
return sqlStr;
}
}
}
请问这些语句有什么不对的地方还是怎样的错误。我一直看不出,请高手指教!
另外数据库的 fenlei 是 int 类型的!
------解决方法--------------------------------------------------------
首先字符串比较不用==而用equals
你首先是if语句的比较搞错了才到else里面
假如cif真等于all
那么他还是到else分之
那么Integer.parseInt(cif)就会报数字格式化异常(NumberFormatException)