两个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">就可以了!

相关文章:

  • 2022-12-23
  • 2021-12-20
  • 2022-01-16
  • 2021-12-22
  • 2021-10-06
  • 2022-02-09
  • 2021-06-27
  • 2022-01-09
猜你喜欢
  • 2022-02-24
  • 2021-07-15
  • 2022-03-01
  • 2021-06-19
  • 2022-12-23
相关资源
相似解决方案