Horace919 2017-04-25 01:06 采纳率: 0%
浏览 1409
已结题

关于java和mysql的查询问题。怎么弄一个上下区间的数字查询,求大神指教

想弄成这样图片说明
但是价格和面积两项的检索有问题
这是我的jsp代码




户型:







地址:







价格:


onkeyup="value=value.replace(/[^\d]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>
---
onkeyup="value=value.replace(/[^\d]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>




面积:


onkeyup="value=value.replace(/[^\d]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>
---
onkeyup="value=value.replace(/[^\d]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>


这里是方法的代码
public String chuzuRes()
{
List chuzuList=new ArrayList();
HttpServletRequest request=ServletActionContext.getRequest();
String jiage1=request.getParameter("jiage1").trim();
String jiage2=request.getParameter("jiage2").trim();
String mianji1=request.getParameter("mianji1").trim();
String mianji2=request.getParameter("mianji2").trim();
    if(jiage1.equals(""))
    {
        jiage1="0";
    }
    if(jiage2.equals(""))
    {
        jiage2="888888888";
    }
    if(mianji1.equals(""))
    {
        mianji1="0";
    }
    if(mianji2.equals(""))
    {
        mianji2="888888888";
    }


    StringBuffer sql=new StringBuffer("from TChuzu where huxing like '%"+huxing.trim()+"%'"+" and dizhi like '%"+dizhi.trim()+"%'");
    List chuzuList1=chuzuDAO.getHibernateTemplate().find(sql.toString());
    for(int i=0;i<chuzuList1.size();i++)
    {
        TChuzu chuzu=(TChuzu)chuzuList1.get(i);
        Double jiage=Double.parseDouble(chuzu.getJiage());
        Double mianji=Double.parseDouble(chuzu.getMianji());
        System.out.println(mianji+"YY");

        if(jiage >=Double.parseDouble(jiage1) && jiage <=Double.parseDouble(jiage2) && mianji >=Double.parseDouble(mianji1) && mianji <=Double.parseDouble(mianji2))
        {
            chuzuList.add(chuzu);
        }
    }
    request.setAttribute("chuzuList", chuzuList);
    return ActionSupport.SUCCESS;
}


现在是上面的两项正常,下面两个报错。
求大神给看看怎么改合适
报错:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.NumberFormatException: empty String
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
root cause

java.lang.NumberFormatException: empty String
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:994)
java.lang.Double.parseDouble(Double.java:510)
com.action.chuzuAction.chuzuRes(chuzuAction.java:168)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)

  • 写回答

7条回答

  • 普通网友 2017-04-25 01:13
    关注

    你的堆栈很明确,168行调用parseDouble的问题,输入参数检查一下吧
    java.lang.Double.parseDouble(Double.java:510)
    com.action.chuzuAction.chuzuRes(chuzuAction.java:168)

    你没贴行号:
    maybe this
    Double jiage=Double.parseDouble(chuzu.getJiage());

    希望对你有帮助

    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?