转自:http://blog.csdn.net/moliqin/article/details/3753570
1.第一个例子:
<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>
2.第二个例子:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb">
3.第三个例子:
<% java.util.HashMap map = new java.util.LinkedHashMap(); map.put(1,"aaa"); map.put(2,"bbb"); map.put(3,"ccc"); request.setAttribute("map",map); request.setAttribute("aa","2"); %> <s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></ s:select > headerKey headerValue 为设置缺省值
摘抄自 http://www.cnblogs.com/modou/articles/1326683.html
4.第四个例子
public class Program implements Serializable { /** serialVersionUID */ private static final long serialVersionUID = 1L; private int programid; private String programName; public int getProgramid() { return programid; } public void setProgramid(int programid) { this.programid = programid; } public String getProgramName() { return programName; } public void setProgramName(String programName) { this.programName = programName; } }
public class ProgramAction extends extends ActionSupport { private List<Program> programs ; public List<Program> getPrograms() { return programs; } public void setPrograms(List<Program> programs) { this.programs = programs; } }
在jsp页面
<s:select list="programs " listValue="programName " listKey="programid " name="program" id="program" headerKey="0l" headerValue=" " value="bean.programid " ></s:select>
红色部分为在action里面的list,黄色为<option value="xxx">value</option>对应bean里面的字段programName
绿色为<option value="xxx",对应bean里面的字段programid
紫色为设定select被选中的值,s:select 会自动在 bean选中 key对应的值
五:第五个例子
摘抄自 http://www.cnblogs.com/modou/articles/1326683.html
<% HashMap map = new LinkedHashMap(); map.put(1,"aaa");map.put(2,"bbb"); map.put(3,"ccc"); request.setAttribute("map",map); request.setAttribute("aa","2"); %> <s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></s:select>
总结:
headerKey的值不能为“-1”,但可以为空
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。这样就可以了。
相关推荐
本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:...
### Struts2中s:select标签的使用详解 #### 一、引言 在Web开发领域,Struts2框架因其强大的功能和灵活的配置而受到广泛欢迎。其中,`s:select`标签作为Struts2标签库中的一个重要组成部分,在表单处理方面提供了...
Struts2提供了一个非常强大的标签——`<s:select>`,它可以用来生成一个`<select>`下拉列表,并支持动态设置默认选中项。 #### 代码示例 假设我们需要根据用户提交的`auditingLog`对象中的`auditingState`属性值来...
在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...
### Struts2中#号的用法详解 在Struts2框架中,`#`符号是一种非常重要的语法元素,主要用于访问上下文中的变量。本文将详细介绍`#`符号的使用方法及其应用场景,帮助读者更好地理解和掌握Struts2框架的相关知识。 ...
### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...
这是一份让你可以理解JavaWeb开发中如何使用struts2对下拉列表数据初始化,对于初学Struts2的同学是非常不错的入门代码实例,并且有助于理解struts里的select标签与c:forEach标签之间的关系。
1. <s:select list=""></s:select>-----单选框 2. <s:set name=""></s:set>-----赋予变量一个特定范围内的值 3. <s:sort comparator=""></s:sort>-----通过属性给list分类 4. <s:submit></s:submit>-----提交按钮...
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
通过以上步骤,我们就完成了 Struts2 中 `s:tree` 标签的使用。这个例子展示了如何使用 Struts2 自定义标签来动态生成树状结构,同时通过数据库获取数据。注意,这里的 `s:tree` 实际上是自定义的标签,因为 Struts2...
9. **s:select标签**和**s:option标签**:创建下拉选择框,s:option用于填充选项,可以动态生成或静态定义。 10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2...
* <s:select>:下拉框 T: 无标签 U: 无标签 V: 无标签 W: 无标签 X: 无标签 Y: 无标签 Z: 无标签 这些标签都是 Struts2 框架中提供的,用于帮助开发者快速构建 Web 应用程序。
在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...
在Struts2中,标签库是其一大特色,它极大地简化了视图层的开发,提高了代码的可读性和可维护性。这篇博客将详细介绍Struts2的标签用法。 首先,Struts2的标签库分为核心标签库和结果标签库,核心标签库主要用于...
"Struts2标签库详解" Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。...但是,为了充分发挥Struts2标签库的功能,开发者需要了解每个标签的使用场景和应用。
下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...
下面将详细介绍Struts2中的部分核心标签及其用法。 A. `<s:a>` 和 `<s:action>`: - `<s:a href="">` 标签用于创建超链接,它可以绑定到一个Action,使得链接具有动态性。例如,`<s:a href="myAction.action">Click ...
- **s:select**: 创建下拉选择框,可以通过list属性绑定数据源。 - **s:checkbox**: 创建复选框,可以与s:checkboxlist一起使用来显示列表。 - **s:radio**: 创建单选按钮,与s: radiogroup配合使用。 - **s:...
- `s:select`和`s:option`:用于创建下拉选择框。 - `s:label`:创建标签,通常与输入控件一起使用,提供更好的可读性。 - `s:debug`:用于在页面上打印详细的调试信息,包括Action、Session和Request的数据。 6...