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中的所有值。
Map request = ActionContext.getContext().get("request");
  request.put("all",all);
// 把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"
       listKey="itemid"   //这个itemid和下面的top.itemid是对应的!
       listValue="itemname"
       doubleList="#request.all.get( top.itemid).subitems"
        doubleListKey="subid"
        doubleListValue="subname"
        size="3"
       doubleName="item"
       >
       </s:doubleselect>
  </s:form>

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

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


哈哈!!大家如果有不明白的话可以留言!!

你可能感兴趣的:(sql,jsp,Hibernate,javaee,vc++)