struts2的select标签中,常用的有以下几个属性:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:
xml 代码
<s:select name="geElement.childType" list="childTypeList" listKey="key" listValue="value" headerKey="0" headerValue="--请选择子类型--"/>
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。
(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。
(5)name属性:即是表单中select的名称。
使用例子:
比如在做人员信息管理系统中,需要设置人员的民族、籍贯等信息,而这些信息一把不需要用户手动输入,而是通过下拉框进行选择,那么使用struts2的select标签应该如何实现呢,好,请看下面:
在Action类中,添加一个成员,String nationId;民族Id,设置getter和setter方法,添加一个Map类型的成员变量,Map nationMap;里面存放民族Id和对应的民族名称,设置getter和setter方法,在execute方法中,添加如下代码:
nationMap.put("1","汉族");
nationMap.put("2","苗族");
然后,在jsp页面中使用select标签,注意要加入标签库的引用:<% taglib uri="/struts-tags" prefix="s" %>,当然了一定要加入struts2的jar包才可以哦
使用标签: <s:select name="nationId" list="nationMap"></s:select>
这样就可以了,简单吧!
上面list里面用的是Map类型的变量,其实list里面也可以是List类型的变量,那么如果是List类型的变量,select标签就需要使用这种形式
<s:select name="nationId" list="nations" key="name" value="id"/>
其中nations是List类型的变量,里面封装了一个Bean,Bean里面定义了两个变量,一个是id,一个是name。这样就可以了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanyuening/archive/2009/06/06/4246995.aspx
分享到:
相关推荐
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb"> ``` 这个例子中,`list`属性是用哈希映射表示的,键值对分别为1对应'aa',2对应'bb',3...
Struts2提供了一个非常强大的标签——`<s:select>`,它可以用来生成一个`<select>`下拉列表,并支持动态设置默认选中项。 #### 代码示例 假设我们需要根据用户提交的`auditingLog`对象中的`auditingState`属性值来...
这个是自己试验的实例,不多,只有s:textfield和s:select。里面有注释,页面、xml和action里的注释序号都是相互对应的。jar都在,直接去掉注释就可以运行。我用的开发环境是jdk5和myeclipes5
在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...
- 引入Struts2标签库:在JSP页面头部添加`<%@ taglib prefix="s" uri="/struts-tags"%>`。 - 在Action中定义相关属性和方法。 - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性...
在Struts2标签库中,还有许多其他的标签,如<s:checkbox />、<s:radio />、<s:textarea />等,每个标签都有其特定的使用场景和应用。 Struts2标签库提供了一系列的标签,帮助开发者快速构建Web应用程序,并提高了...
在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...
Struts 2 标签库(文档手册) Tags-API-CLSW-JSP <%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-...
Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * <s:a>:超链接,类似于 HTML ...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb"/> ``` - **解释**: 此例中使用了一个Map类型的对象作为数据源,其中键表示`listKey`,...
13. **s:action标签**:执行一个Struts2 Action,可以嵌套其他Struts2标签,实现动态内容生成。 14. **s:include标签**:包含其他JSP页面,类似于JSP的<jsp:include>,但支持动态参数传递。 15. **s:url标签**和**...
### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...
8. **主题和皮肤标签(Theme and Skin Tags)**:Struts2提供了多种主题和皮肤,通过`<s:set>`和`<s:theme>`标签可以改变页面的外观。 在实际使用中,Struts2标签的灵活性和便利性体现在数据绑定上,它可以直接与...
相比于Struts1,Strugs2更加灵活且易于扩展,支持多种插件以及标签库,能够极大地提高开发效率。 #### 二、#符号的基本概念 在Struts2中,`#`符号通常用于访问Ognl表达式中的变量。它支持访问不同的作用域,如当前...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
- 在Struts2中,EL可以与Struts2标签结合使用,如`s:property value="${user.name}"`。 3. **使用步骤**: - 在JSP页面中引入Struts2标签库:`<%@ taglib prefix="s" uri="/struts-tags" %>`。 - 在Action类中...
以上只是Struts2标签库中的一部分,实际上,还有更多如`s:actionerror`、`s:debug`、`s:include`等标签,它们各自承担着特定的任务,共同构建起强大的MVC框架。熟练掌握这些标签,能让你的Struts2应用更加高效、整洁...
1. **动作标签**:这些标签主要用于执行特定的Struts2动作,如`s:action`标签用于执行一个Struts2动作,`s:url`用于创建URL,`s:a`则用于创建链接。这些标签通常与Struts2的配置文件相结合,可以传递参数,实现动态...