`
hypgr
  • 浏览: 276870 次
社区版块
存档分类
最新评论

doubleselect用法 显示不换行

阅读更多

doubleselect的用法示例


在Struts2的官方网站上,有doubleselect的用法示例,但是那个例子比较简单。
<s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />

设置样式,使之不换行:

<style>
    .nobr br{display:none}   
</style>

<div class="nobr">
     <s:doubleselect label="doubleselecttest2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="#top=='fruit'?{'apple', 'orange'}:{'monkey', 'chicken'}" theme="simple"/>
</div>


上面的例子演示了doubleselect的基本用法,但是其list和doubleList都是固定的。尤其是doublelist的切 换使用了3目运算符 ? :,并没有太大的实际使用价值。在实际应用中,list往往是action返回的一个List<DataObject>,listKey和 listValue来显示第一级下拉框,doubleList往往是一个Map<Integer, List<DataObject>>,其中Map中的Key值是第一级下拉框的listKey。
举个例子:
Data Object:
public class Book {
        private int id;
        private String name;
        private int categoryId;

        // getter and setter..
}

public class Category {
        private int id;
        private String name;

        // getter and setter..
}

JSP:
<s:doubleselect list="categoryList" listKey="id" listValue="name"
   doubleName="bookId" doubleList="bookMap.get(top.id)" doubleListKey="id" doubleListValue="name" theme="simple"/>

此处要注意的是top的用法,开始我以为top就是指代list的值,所以使用的是bookMap.get(top),但是二级下拉框一直是空白, 后来我突然想到说不定top是一个Category实例呢,尝试了一下top.id,果然成功了。

Action:

public class DemoAction {
        private Map<Integer, List<Book>> bookMap;
        private List<Category> categoryList;

        public String execute() throws Exception {
                categoryList = new ArrayList<Cateogry>();

                Category category;
                category = new Category();
                category.setId(1);
                category.setName("Fiction");
                categoryList.add(category);
                category = new Category();
                category.setId(2);
                category.setName("Java");
                categoryList.add(category);

                bookMap = new HashMap<Integer, List<Book>>();

                List<Book> bookList = new ArrayList<Book>();
                Book book;
                book = new Book();
                book.setId(1);
                book.setName("Harry Porter");
                book.setCategoryId(1);
                bookList.add(book);

                book = new Book();
                book.setId(2);
                book.setName("Nightmare");
                book.setCategoryId(1);
                bookList.add(book);

                bookMap.put(1, bookList);

                bookList = new ArrayList<Book>();
                book = new Book();
                book.setId(3);
                book.setName("Thinking in Java");
                book.setCategoryId(2);
                bookList.add(book);
                book = new Book();
                book.setId(4);
                book.setName("Head First Design Patterns");
                book.setCategoryId(2);
                bookList.add(book);

                bookMap.put(2, bookList);


                return SUCCESS;
        }

        // getter and setter..
}

1
1
分享到:
评论

相关推荐

    struts2 doubleselect标签的用法例子

    Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建可维护、可扩展的Java web应用程序。...通过深入理解并实践这个例子,开发者可以更好地掌握Struts2框架以及使用`doubleselect`标签处理动态数据的方法。

    struts2 标签 doubleselect动态 用法

    理解`list`、`listKey`、`listValue`、`doubleList`、`doubleListKey`和`doubleListValue`等属性以及`top`变量的用法,是正确使用`doubleselect`标签的关键。在实际项目中,确保正确设置这些属性,以及正确处理`...

    doubleselect实现

    doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现doubleselect实现...

    doubleselect.

    同时,合理设计数据库索引,使得子查询能够快速定位到所需数据,是优化doubleselect不可或缺的一部分。 另外,有时候,通过重写查询结构,如使用JOIN操作替代子查询,可能能得到更好的性能。例如,某些情况下,JOIN...

    struts2中doubleselect标签的应用

    在本篇文章中,我们将深入探讨Struts2框架中的`doubleselect`标签的使用方法,并结合一个具体的示例来展示如何将此标签与Hibernate和Spring框架整合在一起,以便于更好地理解和运用这一技术。 ### Struts2框架简介 ...

    doubleselect.doc

    本文将详细介绍如何使用Struts2中的`&lt;s:doubleselect&gt;`标签来实现省市联动功能,并通过一个具体的业务场景来进行说明。 #### 二、业务场景分析 在代理商管理系统中,当新增代理商时需要选择其所属的省市。随后,当...

    struts2中的doubleSelect标签的用法(从数据库中读取数据,HSS)

    具体来说,需要实现`findSort_`方法,该方法用于从数据库中查询数据,并将其封装成适合`doubleSelect`使用的格式。 ```java public String findSort_(){ try{ pslist = service.findSortOne(); List...

    struts2地市、县区二级联动下拉菜单 doubleselect标签

    4. **JSP页面**:在JSP页面中,使用`&lt;s:doubleselect&gt;`标签来声明这两个下拉列表。标签的属性包括`list`、`listKey`、`listValue`、`name`等,它们分别用来指定数据源、键字段、值字段以及Action中的属性名。 ```...

    struts2 doubleselect 实例

    Struts2 Doubleselect标签是用于创建二级联动下拉列表的,这种控件在网页表单中常见于需要显示层次关系数据的场景,例如省份-城市的选择。Doubleselect标签结合了两个下拉列表,其中一个的选择会影响到另一个下拉...

    Struts2级联doubleselect

    6. **JSP页面**:JSP页面负责展示UI,使用s:select标签来创建级联doubleselect。`s:select`标签可以绑定到Action中的属性,支持动态加载选项。 7. **Ajax技术**:为了实现动态加载子级选项,通常会结合使用Ajax技术...

    j2ee-struts2-Select_DoubleSelect.rar_struts2 doubleselect

    当用户选择一个国家后,我们可以使用`countryChange()`方法根据所选国家动态填充州列表。 ```java public class CountryAction extends ActionSupport { private List&lt;Country&gt; countries; private String ...

    DoubleSelect11.vue

    DoubleSelect11.vue

    Struts2的doubleselect标签演示

    在`doubleselect`标签的使用中,我们通常涉及到以下几个关键概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它负责处理用户的请求并返回结果。我们需要在Action类中定义相关的属性和方法,用于...

    两级级联下拉列表jquery插件doubleSelect.zip

    5. 如果数据源是动态获取的,可以利用Ajax从服务器获取数据,然后使用插件提供的方法更新下拉列表。 在实际应用中,你可能需要根据项目需求对插件进行一些定制,比如自定义样式、添加错误处理机制、优化性能等。...

    Struts2-Double-Select-Example

    5. **处理结果**:在Action的`execute`方法中,你可以检查`parentId`的值是否改变,如果改变,则调用`loadChildOptions`并设置结果为"success",使页面重新渲染并显示新的子级选项。 6. **重定向或转发**:根据需求...

    struts的三级级联

    在描述中提到的官方示例虽然展示了`doubleselect`的基本用法,但其数据源是静态的,可能不适用于实际项目中的动态数据需求。实际应用中,数据通常由Action返回,例如`List&lt;DataObject&gt;`和`Map, List&lt;DataObject&gt;&gt;`。...

    extjs+struts2省市区三级联动完整示例

    以下是对该技术栈及其实现方法的详细说明。 首先,ExtJS是一个强大的JavaScript库,用于构建富客户端应用程序。它提供了丰富的组件模型、数据绑定和可自定义的布局,使得创建复杂的用户界面变得简单。在本示例中,...

    struts二级联动

    在Struts1中,`doubleselect`标签是实现二级联动的一个常见方法。`doubleselect`标签提供了一个方便的方式来创建两个相关的下拉列表,其中一个选择项会影响另一个的选择项。然而,由于Struts1的生命周期和设计模式,...

    Strus 2的新表单标志的使用

    本文将针对开发者在实践中遇到的问题进行详细的解答,并通过具体示例帮助读者更好地理解和掌握Struts 2新表单标签的使用方法。 #### 表单标签概述 在Struts 2中,表单标签通过模板的方式输出HTML代码,相较于Struts...

Global site tag (gtag.js) - Google Analytics