struts+hibernate实现关键字组合查找的功能,查询结果为空,麻烦帮我看下为嘛?

find.jsp代码:<formaction="select"method="post"><tablealign="center"><tr><tdcolspan="5">... find.jsp代码:
<form action="select" method="post">
<table align="center"><tr><td colspan="5">
请输入查询条件:</td></tr>
<tr><td>标题</td><td><input type="text" name="art.title" ></td>
<td>创建时间</td><td><input type="text" name="art.create_time" ></td>
<td><input type="submit" value="查询 " />
</td></tr></table>
<table><tr><td align="center">标题</td>
<td align="center">正文</td>
<td align="center">责任编辑</td>
<td align="center">创建时间</td>
<s:iterator value="#request.listart" var="t" > <tr>
<td align="center"><s:property value="#t.title"/></td>
<td align="center"><s:property value="#t.text"/></td>
<td align="center"><s:property value="#t.author"/></td>
<td align="center"><s:property value="#t.creat_time"/></td>
</tr>
</s:iterator>
</table>
</form>
</body>

struts.xml关键代码:
<action name="select" class="com.cn.action.ArtAction" method="keyFind">
<result name="success" type="redirect">/main/find.jsp</result>
</action>

省略Art实体类,title\text\author\create_time属性和get\set方法

com.cn.action.ArtAction类关键代码:
private Art art=new Art();
private ArtDaoImpl adi=new ArtDaoImpl();
省略get\set方法
public String keyFind() throws Exception{
List<Art> listArt=adi.keyFind(art.getTitle(), art.getCreate_time());
//System.out.println("action关键字组合查询内容:"+listArt);打印出来的listArt为地址,是这个原因么?要如何改?
request.setAttribute("listart", listArt);
return SUCCESS;
}

ArtDaoImpl 类关键代码:
@Override//关键字组合查询
public List<Art> keyFind(String title,String time) throws Exception {
session.beginTransaction();
//Criteria查询
Criteria criteria=session.createCriteria(Art.class).add(Restrictions.like("title", "%"+title+"%")).add(Restrictions.like("create_time", "%"+time+"%"));
List<Art> returnList=criteria.list();
session.close();
return returnList;
}
展开
 我来答
stefwujj
2013-10-17 · TA获得超过417个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:209万
展开全部
Criteria criteria=session.createCriteria(Art.class).add(Restrictions.like("title", title,MatchMode.ANYWHERE)).add(Restrictions.like("create_time",time,MatchMode.ANYWHERE))
另外,你比较时间为啥使用Like???
关于查询,你可以看一下我个人说明里面的资料,其中的Hibernate查询一章希望对你有用。
追问
查询结果还是空白,时间我定义的是当前系统日期,不论我输什么打印的都是当前日期,这也是个问题,先帮我解决查询为空的问题,谢谢谢。自己毫无头绪哇
追答
你要比较时间,使用Restrictions.eq啊。就不要用like啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林一夏
2013-10-18 · TA获得超过482个赞
知道小有建树答主
回答量:608
采纳率:0%
帮助的人:465万
展开全部
你先systemout一下list的size看看取到了没有。
另外我想提一个问题,你的result type为什么要用redirect呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妙哉不言诗c
2013-10-18 · TA获得超过438个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:271万
展开全部
<result name="success" type="redirect">/main/find.jsp</result>
是重定向到main/find.jsp页面,不会传递值,把type="redirect“去掉
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式