`
conkeyn
  • 浏览: 1524723 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

list、listkey、listValue属性

阅读更多

      list、listKey、listValue属性对radio、ombobox、select、checklist、doubleselect等标答来说非常重要,因为它们可以帮助程序员有更效率地管理和获取这些标签的选项。

     注意:在select元素里,value属性是可选的。如果没有给出这个属性,在某个选项被选中时,该选项的行标将作为select元素的值 被发送到服务器。从理论上讲,radio元素的value属性也是可选的。可是,如果不给出value属性,radio按钮被选中时的值将是"on",而不是相应的radio元素的label属性值。

       list属性是必不可少的,另外两个属性是可选的。我们可以把一个String、一个数组、一个java.util.Enumeration、一个java.util.Iterator、一个java.util.Map或一个java.util.Collection赋值给list属性。这个值对象即可以放在一个动作对象里,也可以放在当前会话对象或当前的ServletContext对象里。

      注意:如果你动态赋给list属性对象没有任何选项,你必须返回一个空的数组/Collection/Map,而不是返回一个空值(null)。

1、赋值一个String

    可以将一个数组赋值为String表示形式。

<s:select list="{'Atlanta','Chicago','Detroit'}"/>

 这个select标签将呈现为

<select>
    <option value="Atlanta">Atlanta</option>
    <option value="Chicago">Chicago</option>
    <option value="Detroit">Detroit</option>
</select>



 请注意,每个选项的值的行标使用的是同一个字符元素。

在绝大多数Struts应用程序里,选项的值和行标应该是同,这需要使用如下所示的语法:

#{'value-1':'label-1','value-2':'label-2','value-3':'label-3','value-4':'label-4'value-5':'label-5'}

将写成Map型的语法,特别注意在开始位置需要加一个井号“#” 。

例如

<s:select name ='select1' list="#{'1':'A','2':'B','3':'C'}"/>

 表现为

<select>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
</select>

  2、赋值一个Map

      如果想让各个选项的值与它的行标不同,你可以使用一个Map作为选项的来源。使用Map作为选项的来源很简单:把选项的值作Map的key、把选项的行标作Map的value即可。

Map<Integer,String> cities = new HashMap<Integer,String> ();
cities.put("1","A");
cities.put("2,"B");
cities.put("3","C"");
cities.put("4","D);

 如果cities是一个动作属性,可以像下面这样把它赋值给list属性。

<s:select list="cities"/>

 或者,如果cities是一个应用程序属性,你可敬以使用如下所示代码:

<s:select list="#application.cities"/> 

3、赋值一个Collection

    还可以使用一个对象数组或一个对象Collection来作为选项的来源。此时,将需要用到list、listKey、listValue属性。具体做法时把那个数组或Collection赋值给list属性,把用来提供给选项值的对象属性赋值给listKey属性,把用来提供选项行标的对象属性赋值给listValue属性。

public class City {

	private Integer id;
	
	private String name;

	public Integer getId() {
		return id;
	}

	public City(Integer id, String name) {
		this.id = id;
		this.name = name;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 集合的代码:

		Collection<City> c = new ArrayList<City>();
		c.add(new City(1,"A"));
		c.add(new City(2,"B"));
		c.add(new City(3,"C"));
		c.add(new City(4,"D"));

 页面代码:

<s:select list="cities" listKey="id" listValue="name"/>

 4、在页面中自定义Map型数据:

<s:iterator value="#{'10':'ff'}">
	<s:checkbox key="value" value='key'/>
</s:iterator>

 在此例中,它是使用key和value两个引用名称来对#{'10':'ff'}作引用的(写法:#{key:value})。

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    巧用struts标签之checkboxlist选中默认值换行处理

    - `list`:绑定到Action类中的列表属性,如`allCheckboxBeans`,表示所有的选项。 - `listKey`:指定列表中每个元素的键,这里为`id`,即每个`CheckboxBean`对象的`id`属性。 - `listValue`:指定列表中每个元素的值...

    (原创)struts标签之checkboxlist选中值并换行处理

    通过上述步骤,我们成功实现了利用Struts `&lt;s:checkboxlist&gt;` 标签来显示一组复选框,并通过设置`value`属性实现了默认选中某些选项的功能。同时,还通过JavaScript实现了在显示复选框时自动换行的效果,大大提高了...

    form表单标签大全

    - **listKey 和 listValue 属性**:指定集合元素中的属性作为复选框的 key 和 value。 示例代码: ```xml &lt;s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top" list="{'Spring2.0','J2EE','...

    strust2 checkboxlist

    其中,`list`属性指定选项列表,可以是Action类的属性或者Map对象;`name`属性表示表单域名称,用于提交时获取用户的选中项。 4. **Action类中的数据准备** 在Action类中,你需要创建一个列表或数组来填充...

    struts2(checkbox_radio_select)表单标签的应用及详细事例

    Struts2是一个强大的...通过`list`、`listKey`和`listValue`属性,可以方便地绑定到各种数据源,包括基本类型、Map对象和JavaBean。这使得在Struts2框架下开发Web应用时,可以更专注于业务逻辑,而不是页面渲染细节。

    struts标签做的增删查改

    &lt;s:checkboxlist name="hobbies" list="hobbyList" listKey="id" listValue="name" label="爱好" /&gt; ``` 以上四个标签在Struts2中是常用的数据展示和交互组件,它们极大地简化了JSP页面的编写,提高了开发效率。在...

    Struts2的doubleselect标签演示

    4. **OGNL表达式**:在JSP页面中,我们可以使用OGNL表达式来获取Action中的属性,如`&lt;s:doubleselect&gt;`标签中的`list`、`listKey`、`listValue`等属性,都需要通过OGNL来绑定Action中的数据。 5. **`doubleselect`...

    Struts2中的标签介绍及应用实例

    此外,我们还可以为`&lt;s:checkboxlist&gt;`提供键值对列表,通过`listKey`和`listValue`属性来分别指定键和值。比如: ```jsp &lt;s:checkboxlist name="skills2" label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: ...

    浅谈s:select 标签中list存放map对象的使用

    这里的`list`属性指定了`maptest`列表作为数据源,`listKey`属性用于指定从`Map`对象中获取选项的值(option的value),而`listValue`属性则用于获取选项的显示文本(option的内容)。在本例中,`listKey`是"id",`...

    Struts2.0新标签的用法

    这个例子中,`list`属性指向一个JavaBean集合,`listKey`指定了JavaBean中的某个属性作为选项的值,`listValue`指定了JavaBean中的另一个属性作为选项的显示文本。 #### 三、`&lt;s:combobox&gt;`标签的用法 `...

    customcheckboxlist.ftl

    解决struts2里checkboxlist 换行 在struts核心jar包下的template里创建custom文件夹。... listKey="permissionId" listValue="name" value="checkPermission"&gt;&lt;/s:checkboxlist&gt; &lt;/td&gt;

    struts2 标签 doubleselect动态 用法

    理解`list`、`listKey`、`listValue`、`doubleList`、`doubleListKey`和`doubleListValue`等属性以及`top`变量的用法,是正确使用`doubleselect`标签的关键。在实际项目中,确保正确设置这些属性,以及正确处理`...

    struts2标签解析

    `s:checkbox`的`name`属性对应Action类中的数组或List类型的属性,而`s:checkboxlist`则通过`list`属性指定选项源。 5. `s:radio`和`s:radiolist`: 同理,`s:radio`用于创建单个单选按钮,`s:radiolist`用于创建...

    struts<optionsCollection>应用文档+实例

    5. `key` 和 `value`:如果`list`属性是一个Map,这两个属性用来指定键和值的属性名。 接下来,我们通过一个实例来进一步理解`&lt;optionsCollection&gt;`的用法。假设我们有一个`Employee`实体类,包含`id`和`name`两个...

    j2ee-struts2-Select_DoubleSelect.rar_struts2 doubleselect

    &lt;s:select name="fieldName" list="listName" listKey="keyField" listValue="valueField" /&gt; ``` - `name`:该属性指定输入字段的名称,对应于Action类中的属性。 - `list`:此属性用于指定选项的数据源,可以...

    struts2.0实例

    - `&lt;s:select&gt;`:创建下拉列表,可以绑定到Action类的属性,通过list或listKey、listValue属性设置选项值和显示文本。 - `&lt;s:checkbox&gt;`和`s:checkboxlist&gt;`:创建复选框,可以用于多选。 - `&lt;s:radiobutton&gt;`和`...

    struts2 radio

    - `listValue`: 如果`list`是一个List,`listValue`是列表中对象的属性,用于显示在界面上。 ### 2. 使用示例 假设我们有一个`User`类,其中有一个`gender`属性,用于表示用户性别。在Action类中,我们可以创建一个...

    jsp 开发之struts2中s-select标签的使用.docx

    &lt;s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"/&gt; ``` - **解释**: 在这个示例中,首先在Java代码中动态创建了一个`HashMap`...

    struts标签库使用

    2. `listKey`和`listValue`属性:当`list`是Map时,`listKey`对应Map的key,`listValue`对应Map的value;对于List或Set,它们分别指定选项的值和显示文本。 3. `headerKey`和`headerValue`属性:用于添加一个默认的...

    struts2的select标签用法实例分析

    当`list`是一个`List`或`Set`时,`listKey`指定每个元素在`&lt;option&gt;`标签内的`value`,而`listValue`则指定显示的文本。如果`list`是一个`Map`,则它们自动对应`Map`的键和值。 3. **name属性**: `name`属性用于...

Global site tag (gtag.js) - Google Analytics