<%!String name, email, topic, body, sql;%>
<%
name = request.getParameter("name");
email = request.getParameter("email");
topic = request.getParameter("topic");
body = request.getParameter("body");
if((name!=null)&&(!name.equals(" "))&&(email!= null)&&(!email.equals(" "))&&(topic!=null)&&(!topic.equals(" "))&&(body!=null)&&(!body.equals(" ")))
{sql = "insert into guestbook (Name,Email,Topic,Body)values('"+name + "','" + email +
"','" + topic + "','" + body + "')";
sqlbean.executeInsert(sql);
out.println("恭喜你,留言成功!");
}
else
{ out.print("<b><font color=red>请重新填写:姓名,emal,主题,留言!</font></b><font size=20pt><a href=/guestbook.jsp>返回</a></font>");}
%>
获得留言的参数.为什么还能插入空值了.这的if ,else好像不起作用呀,各位大哥给看看呀!
<%
name = request.getParameter("name");
email = request.getParameter("email");
topic = request.getParameter("topic");
body = request.getParameter("body");
if((name!=null)&&(!name.equals(" "))&&(email!= null)&&(!email.equals(" "))&&(topic!=null)&&(!topic.equals(" "))&&(body!=null)&&(!body.equals(" ")))
{sql = "insert into guestbook (Name,Email,Topic,Body)values('"+name + "','" + email +
"','" + topic + "','" + body + "')";
sqlbean.executeInsert(sql);
out.println("恭喜你,留言成功!");
}
else
{ out.print("<b><font color=red>请重新填写:姓名,emal,主题,留言!</font></b><font size=20pt><a href=/guestbook.jsp>返回</a></font>");}
%>
获得留言的参数.为什么还能插入空值了.这的if ,else好像不起作用呀,各位大哥给看看呀!
下面这个是我做留言本的时候的添加留言的方法:
public boolean save(Object obj) {
Book book = (Book) obj;
String sql =
"insert into book(webname,email,titletxt,contxt) values(?,?,?,?)";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, book.getWebname());
ps.setString(2, book.getEmail());
ps.setString(3, book.getTitletxt());
ps.setString(4, book.getContxt());
int bl = ps.executeUpdate();
if (bl == 1) {
return true;
}
else {
return false;
}
}
直接比较零长度字符串""就可以了,空的那个还是必要的,根据页面的不同记得转码,否则显示乱码的
你决不决的你全部用&&连接判断条件 ,会多了点???
if((name!=null)&&(name.length() > 0)&&(email!= null)&&(email.length() > 0)&&(topic!=null)&&(topic.length() > 0)&&(body!=null)&&(body..length() > 0))可能出错的原因:!name.equals(" ")里面的""不应该有空格吧.
}
你的判断有问题,name!=null,name有值,而name.equals(" ")如果是空返回真,如果按你的方法不传值,name.equals(" ")是真,但你加了!这个符号是假了,那就不会执行if下的else,如果else都不执行,就是你的程序有问题了,就不是跳到这个页面了.
fffddd(杀我者死) 我同意你的观点
你的判断条件太复杂了(让你写得)像是判断输入数据是否有效这种事情,用JavaScript去做好了!
不过看代码倒很像是女生写的 ;-)
这你都看得出来,实在是高