可能是你没输入内容的时候取得的值不是null而是"",这样的话你的通配符'%"+s+"%'就是任意字符串的意思了,所以也就输出了所有的记录.
你可以把if的判断条件加强一下,判断当取得的是""时候的处理方法
这样也许可以if(s==null||s="").
你可以把if的判断条件加强一下,判断当取得的是""时候的处理方法
这样也许可以if(s==null||s="").
解决方案 »
- ajax无法提交到servlet的问题
- 在线等~~~~怎么在jsp页面新建一个按钮,点击后将页面中的table数据导出到excel中?
- JavaWeb项目
- Tomcat虚拟目录下编写servlet有问?
- tomcat启动时struts2过滤时出现异常求详解,因为是新手
- [求助]关于HSQL的部署问题
- 在servlet 中能不能获得页面的pageContext 对象 ? 用那个方法 。
- 请教一个数据库连接问题
- 对于一个完整的JSP项目代码,我该怎么样才能看明白结构?
- java中,如果一个视频文件以.dat格式存储,如何播放它?
- 不得不重复贴出的问题,我相信这里面一定有人知道怎么做
- 一个读写文件的中文乱码???
没有输入的时候,根本没有认你的这个语句嘛!
那么就会认为是模糊的所有查询给你显示所有的那!检查处理你的为null的判断处理!
楼上的朋友,该如何判断输入框为空??
我用if (s==null || s=="")也不行啊!
<script>
<!--
function chk(){
if(document.form名.search.value=="")
{
return false;
}
}
//-->
</script>
<input type="submit" value="" onclicked="return chk()">
if (s==null && s.length()>0){...}
注意两者的先后次序,如果颠倒过来,容易出错,因为null值用length()方法是会抛出异常的。
byte b[]=s.getBytes("ISO8859-1");
s=new String(b);
是用在判断之前还是之后??因为不用编码转换语句的话,出来的是乱码
if (s == null || "".equals(s.trim())) {
out.print("<tr>");
out.print("<td>无记录!</td>");
out.print("</tr>");
} else {
s = new String(s.getBytes("ISO8859-1"), "GBK");
ResultSet schrs = stmt.executeQuery("select * from a where name like '%"+s+"%'");
//这里是控制显示记录的语句
}
这样试试看
zcjl(假球迷:最爱米兰!) 的方法是正确的!!