java ssh框架 根据已登录用户查询登录用户自己的信件...

两张表:一张member表,有username和password;一张message表,有id、sname、rname、text等。现在想前台通过已登陆的username... 两张表:一张member表,有username和password;一张message表,有id、sname、rname、text等。

现在想前台通过已登陆的username,进入iSendMessage页面查询,只显示自己(username)作为messsage表中的sname的所有有关信息并在前台遍历出来(而不像管理员显示所有信息)。。。

我知道前台jsp用<s:iterator>遍历 ${message.id }显示值(写管理员我就这么写的),但是后台不怎么会写...所以请问action方法、service包、dao包里具体怎么写?有无例子...谢谢
注意:是用的ssh框架结构写的,member和message各自的映射文件已配好...
展开
 我来答
wuqing0826
2014-04-18 · TA获得超过692个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:722万
展开全部
这种太简单了...网上到处都是例子,简单给你说下吧

action方法体

messageService.getMessageByUsername(username); username就是你传递过来的参数

service

dao.getMessageByUsername(username);

dao

用hibernate的api方法或者自己拼写hql.
简单例子:
StringBuffer hql = new StringBuffer();
hql.append("select message from Message message, Member member ");
hql.append(" where message.id=member.id"); //没看出你的关联字段 自己修改
hql.append(" and member.username=:username");
return (Message) getSession().createQuery(hql.toString())
.setInteger("username", username).uniqueResult(); //我这里设置的参数类型为int 根据需要自己修改

Message, Member都是你hibernate映射文件里面配置的实体类。
更多追问追答
追问

谢谢,回答的不错,我是初学者还是不怎么懂...那两张表本身是没有关联字段的:member表里没有id,message表里sname是发送账号,rname是接收账号。

我是想把前台登录后username已经在session里了,然后找寻message表里sname=username的所有信息,再将其遍历出来...之前dao里的如下:

action里的如下:

我想照着这两个改...

追答
action里面从 request map里面取出你要的username,然后调用service,如
List list = iMessageService.getMessageByUsername(username);

在dao层把查询参数加上就ok了,条件为sname=username
愛海棠
2014-04-18 · TA获得超过113个赞
知道答主
回答量:79
采纳率:0%
帮助的人:42.6万
展开全部
DAO
public List queryMessageBySname(String sname) {
return this.getHibernateTemplate().find(" from Message where sname="+sname);
}

SERVICES
public List queryMessageBySname(String sname) {
return dao对象名.queryMessageBySname(sname);
}

ACTION
List list=service对象名.queryMessageBySname(username);
request.setAttribute("list",list);
更多追问追答
追问
谢谢,能再具体点吗?我的前台username已经在session里了,我没看出来你这个action怎么取到session里的值,另外username什么时候和sname关联的我也没看出来...你也可以参考我的其他追问回答...我是自学的小白谢谢...
追答
String username = session.getAttribute("username");   括号内的为你将username存入session中的属性名称,另外关于你说的username和sname是什么时候关联的,当你保存message对象的时候将username存入message对象的sname属性的,或者是你数据库手写信息的时候存入的sname的值,当你在查询的时候系统只会查询message对象中sname等于当前登陆用户名的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式