doubleselect标签的值从数据库中读取

大家好!!

刚刚申请了博客!我学java快一年了!这个过程中遇到了很多的问题!因为我还是学生,而且是自学!学校里根本没有javaee,顶多只是开门java基础课!!只能上网查资料!!!就这样我结识了javaeye!一个非常不错的网站!我也非常喜欢,,里面有非常全面的内容!还有非常热心的朋友! 我非常感谢javaeye和里面所有的朋友!在里面让我解决了很多的难题! 我也要把握犯过的错误!走过的弯路记录下来!给大家分享!!

今后还请大家多多指教!!!

好了!!第一次关于struts2 的doubleselect标签的问题!!

我这里doubleselect的值是从数据中直接取出来的!!

1,数据库中有两张表,item和subitem!两者是一对多的关系!!item 1:n subitem
|——itemid |--subid
item--| subitem---|--subname
|——itemname |--itemid
item对应的是第一级菜单! subitem对应的是第二级菜单!

2, 因为这两张表在hibernate中的item.hbm.xml中加入了cascace=“all” ,就是说当我们操作item的时候同时也操作subitem!查询的语句是 List all =session.createQuery(sql).list(“FROM item i”); 即查询item中的所有值。
[color=red] Map request = ActionContext.getContext().get("request");
request.put("all",all);[/color] // 把all放入request中,为了是在页面中取得里面的值,

在item类中。subitems是item类的一个属性,关键是迭代的时候。怎么输出;在request中的关系是。request={
item={
itemid,
itemname,
subitems={ //这个subitems是item里面的一个属性值,subitems是一个
subid,//个subitem的对象的结合!我是用hibernate自动生成的!
subname,....//熟悉hibernate的朋友都清楚!
}
}
}



3,我们把数据库中表item中的值在页面中第一级菜单显示!subitem中的值在第二级菜单中显示!!
在jsp中的doubleselect配置是!

<s:form action="doubleselect" name="item" id="subitems">//doubleselect一定放在
<s:doubleselect //form中。 name必须有值,是任意的,,
label="zhong"
size="3"
list="#request.all"
[color=red]listKey="itemid"[/color] //这个itemid和下面的top.itemid是对应的!
listValue="itemname"
doubleList="#request.all.get([color=red]top.itemid[/color]).subitems"
doubleListKey="subid"
doubleListValue="subname"
size="3"
doubleName="item"
>
</s:doubleselect>
</s:form>

listValue="itemname" 是要在第一级菜单中显示的内容!itemname是item的一个属性!
[color=blue]listKey="itemid"[/color] 根据itemid得到第二级菜单的内容!
[color=blue]doubleList="#request.all.get([color=red]top.itemid).subitems"[/color][/color]

最关键的还是这一句话,让我搞了一天!网上也没有找到。。我只是一点一点试的!
从request中得到all,再根据all中的item的itemid得到其所对应的subitems,subitems是一个集合,里面有多个subitem,
[color=violet] doubleListValue="subname"[/color] 是的得到subitem中的二级菜单的名子!


哈哈!!大家如果有不明白的话可以留言!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值