0 0

struts2的<s:select>的用法0

<s:select name="attend" list="#{0:'选择',1:'出勤',2:'缺席',3:'迟到',4:'早退'}" cssClass="select2"></s:select>

这样构成一个选择列表。但是,我觉得list里面的东西是可变的。如果每个页面都充斥着这样代码,日后可能很难维护。
我想把list的值放到静态方法里面,然后进行访问,结构报错。
	public static Map<String, Object> getAttendState(){
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("0", "选择");
		map.put("1", "出勤");
		return map;
	}

在jsp里面使用
<s:select name="attend" list="@com.util.StateHelp@getAttendState()" s:select>

结果出错了。如果把这些变量写在静态方法里面,然后在<s:select>里调用,该怎么写?谢谢

问题补充:并且对map进行排序
2013年3月14日 16:28

3个答案 按时间排序 按投票排序

0 0

采纳的答案

List<Map> abc = new ArrayList<HashMap>()
Map map1 = new HashMap();
Map map2 = new HashMap();
map1.put("KEY", "0");
map1.put("VALUE", "选择");
map2.put("KEY", "1");
map2.put("VALUE", "出勤");
abc.add(map1);
abc.add(map2);

然后页面上面就可以只要写:
<s:select list="abc" listKey="KEY" listValue="VALUE"></s:select>

2013年3月15日 15:24
0 0

把map作为成员变量 get和set一下
jsp中如下写:
<s:select list="map" listKey="key" listValue="value"  headerKey="" headerValue=""></s:select>

试一试 

2013年3月15日 09:28
0 0

首先<s:select>中的属性list是只接受List<Map>形式的对象,而不是Map对象

以下是个人的修改意见:
1.你可以在你的静态方法里面,将map对象转化为JSON格式的字符串返回;

2.你可以在你的Action中定义一个共用的List<Map>对象,来存放下拉框的值,
例如:List<Map> abc = new ArrayList<HashMap>();
然后写一个初始化的方法,往该List里面存放下拉框的值,
另外,需要在Action中添加对应的get和set方法,
最后,你在页面上面就可以直接写成
<s:select list="abc" listKey="XXX" listValue="YYY"></s:select>
listKey和listValue指的就是map里面的key。

2013年3月14日 17:03

相关推荐

    用法

    Address private int aid; private String aname; public int getAid() { ... &lt;s:select name="address" headerKey="-1" headerValue="请选择" list="lis" listKey="aid" listValue="aname" /&gt; &lt;/s:form&gt;

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    在JSP页面中,我们可以使用Struts2的标签库(例如`s:textfield`, `s:checkbox`, `s:select`等)来创建表单元素,并将这些元素与Action的属性绑定。对于集合类型,我们通常会在JSP中通过迭代器遍历并生成多个表单...

    Struts2标签 UI标志又可以分为表单UI和非表单UI两部分

    - `&lt;s:select&gt;` 用于创建下拉列表。 - 示例: ```xml &lt;s:select tooltip="Chooseuser_type" label="" list="#{'free':'免费','vip':'会员'}" value="#{'free':''}" name="bean.user_type" emptyOption="true" ...

    struts2实现页面select标签默认选中

    Struts2提供了一个非常强大的标签——`&lt;s:select&gt;`,它可以用来生成一个`&lt;select&gt;`下拉列表,并支持动态设置默认选中项。 #### 代码示例 假设我们需要根据用户提交的`auditingLog`对象中的`auditingState`属性值来...

    jsp 开发之struts2中s:select标签的使用

    &lt;s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb"&gt; ``` 这个例子中,`list`属性是用哈希映射表示的,键值对分别为1对应'aa',2对应'bb',3...

    struts2的s标签

    &lt;p&gt;名称:&lt;s:property value="name"/&gt;&lt;/p&gt; &lt;/s:iterator&gt; ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`&lt;s:label&gt;`** - 显示标签。 - **示例**: ```jsp &lt;s:label value=...

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    struts2实现分页

    ### Struts2 实现分页及 `&lt;s:bean&gt;` 标签详解 #### 一、Struts2 分页概述 在 Java Web 开发中,为了提高用户体验并减轻服务器负担,通常采用分页技术来展示数据。Struts2 框架提供了一套强大的工具和标签库来帮助...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    Struts2全部标签使用说明

    以上只是Struts2标签库的一部分,实际使用中还有更多标签如`&lt;s:textfield&gt;`(文本输入框)、`&lt;s:textarea&gt;`(文本区域)、`&lt;s:submit&gt;`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...

    Struts2标签详解及具体实例解析

    -- 这里可以使用&lt;s:iterator&gt; --&gt; &lt;/s:generator&gt; ``` - **解释**:生成数据项,并使用逗号分隔。 ##### 24. `&lt;s:head&gt;` 头部标签 - **用途**:在`&lt;head&gt;`标签内使用。 - **示例代码**: ```xml &lt;s:head&gt; ...

    Struts2表单标签使用范例

    除了`&lt;s:textfield&gt;`,Struts2还提供了多种表单标签,如`&lt;s:password&gt;`用于创建密码输入框,`&lt;s:textarea&gt;`用于创建多行文本输入框,`&lt;s:radio&gt;`和`&lt;s:checkbox&gt;`用于创建单选按钮和复选框,以及`&lt;s:select&gt;`用于...

    Struts2案例翻译篇-Using Struts2 Tag

    - `&lt;s:select&gt;`:创建下拉列表,可以从Action的属性或静态资源中获取选项。 - `&lt;s:if&gt;`和`&lt;s:else&gt;`:条件判断,类似于JSP的`&lt;c:if&gt;`和`&lt;c:else&gt;`。 - `&lt;s:iterator&gt;`:迭代集合,如List或Map,用于显示列表数据...

    struts2中#号的用法

    本文将详细介绍`#`符号的使用方法及其应用场景,帮助读者更好地理解和掌握Struts2框架的相关知识。 #### 一、Struts2简介 Struts2是基于Struts1的基础上发展起来的一款开源Web应用框架,它使用MVC(Model-View-...

    struts2-tags-API.rar_struts2 api_struts2 tag api_struts2 tags ch

    11. **Tiles Tags**: 如果使用了Tiles框架,Struts2也提供了与之配合的标签,如`&lt;s: tiles&gt;`,用于布局管理。 这些标签极大地提高了开发效率,减少了视图层与控制器层的交互复杂性。每个标签都配有示例,可以帮助...

    struts2标签介绍

    在Struts2中,所有的标签都统一在`&lt;s&gt;`前缀下,通过引入`&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;`就可以在页面上使用这些标签。 **A组标签:** 1. `&lt;s:a&gt;` - 用于创建超链接,与HTML的`&lt;a&gt;`标签类似,可以...

    struts2标签库

    - `&lt;s:action&gt;`:用于调用Struts2的动作,可以传递参数。 - `&lt;s:if&gt;`和`&lt;s:else&gt;`:条件语句,用于控制页面逻辑。 - `&lt;s:iterator&gt;`:迭代标签,用于遍历集合对象,如List、Set等。 - `&lt;s:property&gt;`:显示对象...

    struts2 表单标签的使用

    这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个表单标签以`&lt;s:form&gt;`开头,并以`&lt;/s:form&gt;`结束。它允许我们指定表单的属性,如`action`(表单...

    struts2-tags-API.rar

    还可以配合`&lt;s:textfield&gt;`, `&lt;s:textarea&gt;`, `&lt;s:checkbox&gt;`, `&lt;s:radio&gt;`, `&lt;s:select&gt;`等子标签来创建输入元素。 4. **Control标签**:如`&lt;s:if&gt;`, `&lt;s:else&gt;`, `&lt;s:choose&gt;`, `&lt;s:when&gt;`, `&lt;s:otherwise&gt;`用于...

    struts2标签大全详解

    1. `&lt;s:select&gt;`:创建单选选择框,用于选择一个选项。 2. `&lt;s:set&gt;`:在特定范围内设置变量的值。 3. `&lt;s:sort&gt;`:对列表进行排序,可以自定义比较器。 这些标签极大地简化了Struts2应用中的视图层开发,提高了...

Global site tag (gtag.js) - Google Analytics