zoukankan      html  css  js  c++  java
  • struts2中<s:doubleselect/>标签的使用心得<原创>

      两个Bean:Category(父框中显示)、SubCategory(联动子框中显示)。

      Action中:

            。

            。

            。

          private Map<Long, List<SubCategory>> subCategoryMap = new HashMap<Long, List<SubCategory>>();//全局变量getter,setter方法自己写

            。

            。

            //方法中关键代码如下

          List<Category> categoryList = categoryService.findAllCategory();

          for(int i=0;i<categoryList.size();i++){
            List<SubCategory> templist = new ArrayList<SubCategory>();
            templist = subCategoryService.findByCategoryId(categoryList.get(i).getId());
            subCategoryMap.put(categoryList.get(i).getId(),templist);
          }

       jsp页面显示:

        <s:doubleselect theme="simple" tooltip="所有分类" name="event.category.id"
          list="categoryList" listKey="id" listValue="categoryName"
          doubleList="subCategoryMap[top.id]" doubleName="event.subCategory.id"
          doubleListKey="id" doubleListValue="name" />

        页面关键:通过doubleList属性,将第一个框list中的id和第二个框中的Map中的key联系起来,top值第一个框中的整个对象

        特别注意:<s:doubleselect/>标签必须放在<s:form>中,放在普通<form>中会出错,而且s:form必须指定name属性

        另外,希望页面美观的话,希望s:doubleselect标签和左边的字对齐,则指定s:doubleselect属性theme="simple"

           希望两个select排成一行(貌似默认是上下行的),则在页面顶部声明css:

            <style type="text/css">
             .doubleselect br{
              display: none;
             }
            </style>

           然后在<s:form>外面套一个< div class="doubleselect">就可以了!

  • 相关阅读:
    java进阶(36)--IO和Properties联合使用(配置文件)
    java进阶(34)--File类、目录复制
    java进阶(33)--IO流
    java进阶(32)--Collections工具类
    java进阶(31)--TreeSet集合、TreeMap集合、自平衡二叉树
    解决Excel打开空白或慢的问题
    CCS
    CCS
    CCS
    CCS
  • 原文地址:https://www.cnblogs.com/winkey4986/p/2673189.html
Copyright © 2011-2022 走看看