哦。。顺便说声。。commons包的用法官网上有,或者简单的例子:
http://uptolife.blogspot.com/search?q=StringUtil
貌似路还长着。。呵呵
<%=(String)result[0][code="java"][/code]%>
需要做类型转换
[code="java"]public Iterator searchUser(String name, String phone, String address) {
// TODO Auto-generated method stub
String strsql=new String("select * from addressbook where");
if(!name.equals(""))
strsql=strsql+"name like '"+name+"%' and";
if(!phone.equals(""))
strsql=strsql+"phone like '"+phone+"%' and";
if(!address.equals(""))
strsql=strsql+"address like '"+address+"%'";
else
strsql=strsql.substring(0,strsql.length()-3);
strsql=strsql+"order by ID";
Query q=this.session.createQuery(strsql);
Iterator iter =q.list().iterator();
//Iterator iter=q.list().iterator();
return iter;
}[/code]
这段代码有很多问题呀。sql注入就很严重了。。new String也不是这么用的,用stringbuffer好些。。。里边的select * 也可以不用了。。直接用"from addressbook " 这样最后使用q.list就是返回一个List啦。。。还有其他一些问题
[code="java"] String phone=request.getAttribute("phone").toString();[/code]
这个也是有问题的。。因为从request有可能取出null
[code="java"]public List<addressbook> searchUser(String name, String phone, String address) {
// TODO Auto-generated method stub
StringBuffer strsql=new StringBuffer("from addressbook where 1=1");
if(StringUtils.isNotBlank(name))
strsql.append(" and name like :name");
if(StringUtils.isNotBlank(phone))
strsql.append(" and phone like :phone");
if(StringUtils.isNotBlank(address))
strsql.append(" and address like :address");
strsql.append(" order by ID");
Query q=this.session.createQuery(strsql);
if(StringUtils.isNotBlank(name))
q.setParameter("name", "%" + name + "%");
if(StringUtils.isNotBlank(phone))
q.setParameter("phone", "%" + phone + "%");
if(StringUtils.isNotBlank(address))
q.setParameter("address", "%" + address + "%");
return q.list();
}[/code]
StringUtils是jakarta commons库。。。你的代码看起来还不hibernate啦,呵呵
另外,这个应该这么写
String phone=(String)request.getAttribute("phone");
没eclipse,不知有没有敲错单词什么的。。。