`

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

阅读更多

4 doubleselect

doubleselect标签生成上下两个select控件,上面的控件选择的option会导致下面select控件的options发生变化。

 

Attributes

Description

name

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

doubleName

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

list

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

doubleList

Required,生成的child select元素显示的可选列表,相当于child select标签的list属性

listKey

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

listValue

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

doubleListKey

Child select的选项的value属性

doubleListValue

Child selectoption元素显示的内容

headerKey

设置parent select的第一个选项的值

headerValue

设置parent select第一个选项的显示内容

 

Jsp code:

<s:doubleselect name="hobbyName" list="#session.hobbyList" listKey="hobbyId" listValue="hobbyName" headerKey="-1" headerValue="Please Select" doubleName="hobbyClass" doubleList="top.courses" />

 

Page source code:

<select name="hobbyName" id="testTags_hobbyName" onchange="testTags_hobbyNameRedirect(this.options.selectedIndex)">

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

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

 

 

</select>

<br />

<select name="hobbyClass" id="testTags_hobbyClass">

</select>

<script type="text/javascript">

......

......

function testTags_hobbyNameRedirect(x) {

//这里是由标签生成的js代码,来触发child select的选项更新

}

</script>

 

Prepare action

Parent select显示的内容一般是从db中取得,假设Hobby类里有个属性为courses,类型为List<String>,生成的child select就绑定到这个list上,下面是准备数据:

List<String> courses_1 = new ArrayList<String>();

        courses_1.add("Sunday Class");

        courses_1.add("Monday Class");

        courses_1.add("Saturday Class");

       

        List<String> courses_2 = new ArrayList<String>();

        courses_2.add("Wednesday Class");

        courses_2.add("Friday Class");

        courses_2.add("Monday Class");

        courses_2.add("Saturday Class");

        courses_2.add("Sunday Class");

 

        hobby_1.setCourses(courses_1);

        hobby_2.setCourses(courses_2);

 

        hobbyList.add(hobby_1);

        hobbyList.add(hobby_2); //this list load from database

 

        map.put("hobbyList", hobbyList);

        return SUCCESS; //return xxx.jsp

 

Action class:

private String hobbyName;     //with getter/setter method

Private String hobbyClass;       //with getter/setter method

 

Result:

在页面提交到Action后,hobbyName的值为parent select选中的选项值,hobbyClass的值为child 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 级联菜单

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

    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中...

    struts2标签介绍

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

    Struts标签大全.doc

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

    struts标签做的增删查改

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

    Struts2标签库详解

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

Global site tag (gtag.js) - Google Analytics