`
jkam
  • 浏览: 44214 次
  • 性别: Icon_minigender_1
  • 来自: piǎ 县
社区版块
存档分类
最新评论

Struts2几个常用标签的主要属性及示例(三)

阅读更多

5 optiontransferselect

这个标签生成左右两个select组件,两个组件之间有button group来执行两个组件之间的数据转换。并支持每个组件中选项的排序。

 

Attributes

Description

name

对应action中的变量名称,生成的left selectname属性

doubleName

Required,对应action中变量的名称,生成的complete componentname属性

list

Required,生成的left select元素显示的可选列表,参照comboboxlist属性

doubleList

Required,生成的complete select元素显示的可选列表,参照 list属性

listKey

生成的left select option元素的value属性

listValue

生成的left selectoption元素的显示内容

doubleListKey

complete select的选项的value属性

doubleListValue

complete selectoption元素显示的内容

leftTitle

Left select title

rightTitle

Right select title

multiple

布尔型,如果设置为true,标签会为左边的选项预先选中,这要通过Array类型的value属性来确定哪些是预选中的

doubleMultiple

参照multiple属性,起作用于右面的select组件

emptyOption

布尔型,决定左面的select是否添加一个空选项

doubleEmptyOption

布尔型,决定右面的select是否添加一个空选项

 

Jsp code:

     <s:optiontransferselect

                 label="Favourite"

                 name="leftSideHobbyIds"

                 leftTitle="My Favourite"

                 rightTitle="All Interest"

                 list="#session.myFavourite"

                 listKey="hobbyId"

                 listValue="hobbyName"

                 multiple="true"

                 headerKey="headerKey"

                 headerValue="--- Please Select ---"

                 emptyOption="true"

                 doubleList="#session.hobbyList"

                 doubleListKey="hobbyId"

                 doubleListValue="hobbyName"

                 doubleName="rightSideHobbyIds"

                 doubleHeaderKey="doubleHeaderKey"

                 doubleHeaderValue="--- Please Select ---"

                 doubleEmptyOption="true"

                 doubleMultiple="true"

     />

 

Page source code:

<script type="text/javascript" src="/demohr/struts/optiontransferselect.js"></script>

<table border="0">

<tr>

<td>

   <label for="leftTitle">My Favourite</label><br />

   <select name="leftSideHobbyIds" size="15" id="testTags_leftSideHobbyIds" multiple="multiple">

    <option value="headerKey">--- Please Select ---</option>

    <option value=""></option>

</select>

……

//left component buttons

</td>

<td>

   <label for="rightTitle">All Interest</label><br />

<select

   name="rightSideHobbyIds"

   size="15"             

   multiple="multiple"

   id="testTags_rightSideHobbyIds">

    <option value="doubleHeaderKey">--- Please Select ---</option>

    <option value=""></option>

       <option value="1">Football</option>

       <option value="2">Basketball</option>

</select>

…..

//right component buttons

</td>

</tr>

</table>

 

Prepare action

一个 select显示的内容一般是从db中取得,另一个select的选项一般从第一个select取得,初始的数据也要提前(页面load之前)准备数据,假设一个List是所有的Hobby,另一个List存放User FavouriteHobby,下面是准备数据:

       List<Hobby> myFavourite = new ArrayList<Hobby>();

        List<Hobby> hobbyList = new ArrayList<Hobby>();

       //对两个list进行相应的处理,赋入初始数据

       map.put("myFavourite", myFavourite);

        map.put("hobbyList", hobbyList);

        return SUCCESS; //return xxx.jsp

 

Action class:

private String[]leftSideHobbyIds;       //with getter/setter method

//如果两个组件的值都想取得,就定义两个数组型的变量 变量名和标签的namedoubleName属性的值相同

 

Result:

在页面提交到Action后,leftSideHobbyIds就被赋值为select的选项对应的值,这个值是数组。

 

这个标签适用于权限赋值,以及从一个集合中选择某些值到另一个集合,并且这种操作的效果比较直观。比较强大的是,两边的组件支持选项的排序。

分享到:
评论

相关推荐

    Struts2_表单标签简介 示例

    Struts2中的表单标签主要分为基础表单标签和高级表单标签两大类。基础表单标签涵盖了如单选框、复选框、下拉列表等基本元素;而高级表单标签则是在此基础上进行了扩展,增加了更多的功能性和灵活性。这些标签的设计...

    Struts2 UI标签代码示例

    本篇文章将深入探讨Struts2 UI标签中的几个关键组件:tabbedPanel、autocompleter、tree和treenode以及optiontransferselect,这些标签在实际项目中有着广泛的应用。 首先,`tabbedPanel`标签是用于创建多选项卡的...

    struts2-4标签库文件上传下载

    下面是一个简单的表单示例,展示了如何使用Struts2标签库中的几个常见标签: ```jsp 书名:&lt;s:textfield name="book.bookName" /&gt;&lt;br/&gt; 价格:&lt;s:textfield name="book.bookPrice" /&gt;&lt;br/&gt; 出版时间:...

    Struts2分页-自定义标签-类似百度分页

    自定义标签的实现通常分为以下几个步骤: 1. **创建标签库**:定义一个XML文件(如struts-tags.xml),用于声明自定义标签及其属性。这个文件会被Struts2框架解析,使自定义标签可以在JSP页面中使用。 2. **编写...

    struts2标签库详解(非常不错)

    下面将详细介绍几个关键的Struts2标签: 1. `s:textfield`: 这个标签用于创建HTML输入字段,它自动处理了表单数据的绑定,可与Action类的属性对应。 2. `s:textarea`: 用于创建多行文本输入框,同样支持数据绑定。...

    struts2 标签使用

    通过以上几个示例,我们可以看到 `&lt;s:if&gt;` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `&lt;s:iterator&gt;`,可以实现更复杂的逻辑...

    struts2示例(包含源代码)

    4. **Struts2循环和显示标签**:Struts2提供了丰富的标签库,用于在JSP页面上处理数据展示,如迭代、条件判断等。例如`&lt;s:iterator&gt;`用于遍历集合,`&lt;s:property&gt;`用于显示对象属性。 5. **SQL Server 2005分页查询...

    Struts2常用标签

    Struts2标签库主要包括以下几个方面: - **HTML标签**:用于创建HTML表单元素。 - **控制结构标签**:用于实现条件逻辑和循环。 - **数据绑定标签**:用于数据的展示与绑定。 - **UI标签**:用于创建复杂的用户界面...

    struts2配置文件以及代码示例

    ### Struts2配置文件及其代码示例解析 #### 一、Struts2概述 Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中...

    struts2标签库实验报告.docx

    通过实验,学员能够掌握Struts2中几个常用标签(如`&lt;s:radio&gt;`、`&lt;s:select&gt;`、`&lt;s:token&gt;`)的应用,并理解OGNL表达式的基本用法。这些知识点对于初学者来说至关重要,因为它们构成了Struts2应用开发的基础。 ####...

    Struts2入门的示例

    在Struts2框架中,主要包含以下几个核心概念: 1. **Action类**:Action类是业务逻辑处理的核心,它是Struts2中的控制器。开发者需要创建一个继承自`com.opensymphony.xwork2.ActionSupport`或其子类的Java类,并在...

    struts1.x标签详解

    Struts 1.x 中的标签被分为以下几个类别: 1. **BeanTags**:用于创建 Bean、访问 Bean 和访问 Bean 的属性,同时也支持依据 cookies、headers 和 parameters 创建相关的 Bean。 2. **HTMLTags**:用于创建 Struts ...

    struts2.0标签使用

    下面将详细介绍几种常见的Struts2.0标签,并结合示例进行解释: ### 示例分析 给出的示例代码主要展示了如何使用`&lt;html:select&gt;`标签来创建一个下拉列表,并利用`&lt;c:forEach&gt;`标签遍历数据集以填充下拉列表选项。...

    struts2标签大全

    以上介绍的是Struts2框架中常用的几个标签,这些标签极大地简化了Web应用程序的开发过程。通过灵活运用这些标签,开发者可以在提高开发效率的同时确保代码的可读性和可维护性。希望本文能帮助读者更好地理解和掌握...

    Struts2登录DEMO

    在Struts2登录DEMO中,主要涉及以下几个核心知识点: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,通常继承自`org.struts2.StrutsAction`或实现`com.opensymphony.xwork2.Action`接口。在这个DEMO中...

    Struts标签大全.doc

    Bean Tags是Struts中最基础也是最常用的标签之一,主要用于创建、访问以及管理Bean对象。Bean在这里通常指的是JavaBean,这是一种遵循特定命名和编码约定的Java类,用于封装数据和业务逻辑。Bean Tags包括以下几种:...

    struts2标签介绍

    - **分类**:Struts1.x的标签库按照功能划分为HTML、Tiles、Logic和Bean等几个部分;而Struts2.0虽然没有明确的分类,但所有的标签都放在了`/struts-tags`这一命名空间下,但从功能上看,可以大致分为非UI标签和UI...

    struts标签做的增删查改

    在给定的标题和描述中,"struts标签做的增删查改"提到了几个关键的Struts2标签,它们分别是`s:iterator`、`s:textfield`、`s:select`以及`s:checkboxlist`,这些标签在构建表单和处理数据时起到重要作用。...

    Struts2标签库详解

    Struts2标签库主要分为以下几部分: - `s:` 核心标签库:包含了最常用的功能,如表单元素、控制流标签等。 - `x:` 动态标签库:用于动态生成HTML元素,提高了灵活性。 - `field:` 表单字段标签库:专门处理表单...

    struts2 级联菜单

    要实现Struts2的级联菜单,主要涉及以下几个步骤: 1. **创建实体类**:首先,你需要根据数据库中的表结构创建对应的Java实体类,这些类将用于表示菜单项。例如,你可以有`Country`、`Province`和`City`类,它们...

Global site tag (gtag.js) - Google Analytics