怪,为什么明明是空却识别不是空?

cnbill 2004-12-02 12:57:49
下面这段代码为什么每次打印的都是“feikong”?
我的提交页面是:http://cn:8080/duanx/test02010.jsp?chanel=
也就是说我实际上没有传递参数给chanel.
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="jk" scope="page" class="jk100.dbconn"/>
<%!
public String ConvertStr(String sStr) {
String sRtn = "";
if (sStr == null) {
sRtn = "";
} else {
try
{
sRtn = new String(sStr.getBytes("ISO-8859-1"), "GBK");
}
catch(Exception ex)
{
sRtn="";
}
}
return sRtn;
}
%>


<% ResultSet rs;
String sql_count;
String chanel;
chanel=ConvertStr(request.getParameter("chanel"));
if(chanel==""||chanel==null)
{
sql_count="select * from tbl_titles";
out.println("kong");
}
else
{
sql_count="select * from tbl_titles where chanel = '"+ chanel + "'";
out.println("feikong");
}
%>
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdian 2004-12-03
  • 打赏
  • 举报
回复
有两种对比方式 a==null || "".equals(a)
debug158 2004-12-03
  • 打赏
  • 举报
回复
up
cnbill 2004-12-03
  • 打赏
  • 举报
回复
谢谢两位仁兄!!!
ayxj 2004-12-02
  • 打赏
  • 举报
回复
兄弟,在JAVA中判断字符串相等可不能用"=="而应该用equals啊,
如:
String a = "bbb";
System.out.println(a == "bbb");

输出结果将是false哦!正确的写法因该是:
System.out.println(a.equals("bbb"));
这是因为在JAVA中的"==”操作是通过比较两个对象的地址是否一致来进行判断的。呵呵

希望对你有所帮助
海当 2004-12-02
  • 打赏
  • 举报
回复
用if(chanel.equlas(""))//如果是空的话,反加是true,反之是false
{
你的代码
}
else
{
你的代码
}
在jsp中字符串的比较不能用"=="
Jujus 2004-12-02
  • 打赏
  • 举报
回复
提交方式是post还是get??
bp69 2004-12-02
  • 打赏
  • 举报
回复
String chanel="";-->初始化一下

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧