日期:2014-05-17  浏览次数:20863 次

get方式分页查询条件乱码
本帖最后由 trulyzhu 于 2013-02-26 13:42:11 编辑
在做一个 分页+条件查询 
jsp页面的form用get方式提交
<form name="manageForm" method="get" action="/***/manage/manage.do?method=**List">
  <select name="query.id"><option value="">--请选择--</option>
                          <option value="1">总公司</option>
                          <option value="11">分公司11</option>
。。。。。。。。。。
服务器的用了struts1的ActionForm form接收查询条件
formbean中定义的是private String id = "";
在查询之前将String转为了long
blogquery = manageForm.getQuery();
Long.parseLong(blogquery.getId())
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
get form 乱码

------解决方案--------------------
话说,你“请选择”的时候
formbean里面id=""
转Long当然错了!!!!!!!!!
------解决方案--------------------
将Long.parseLong(blogquery.getId())改为Long.parseLong(blogquery.getId().matches("\\d+") ? blogquery.getId() : "0");试试
------解决方案--------------------
blogquery = manageForm.getQuery();
Long.parseLong(blogquery.getId())
你先判断 blogquery 是否为空  不为空时在 再进行强转  很明显你把 "" 转成 long 肯定会报数字转换异常