`
conkeyn
  • 浏览: 1512445 次
  • 性别: 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`:指定列表中每个元素的值...

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

    customcheckboxlist.ftl

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

    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 标签 doubleselect动态 用法

    struts2 标签动态数据用法, 在实际应用中,list往往是action返回的一个List,listKey和listValue来显示第一级下拉框,doubleList往往是一个Map, List&lt;DataObject&gt;&gt;,其中Map中的Key值是第一级下拉框的listKey。

    struts2 radio

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

    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`属性用于...

    struts2标签中select的三种写法

    在JSP页面中,将`list`属性设置为`optionsMap`,`listKey`和`listValue`分别用于显示的键和值: ```jsp &lt;s:select name="selectedOption" list="optionsMap" listKey="key" listValue="value" /&gt; ``` 这样,下拉...

    struts2.0 checkbox标签使用问题

    在这里,`categoryList`是从Action传递到视图的列表,`listKey`和`listValue`分别指定了列表项的键和值,而`name`属性则对应Action中存储用户选择的类别ID的属性。 在处理复选框的提交时,需要注意的是,未被选中的...

    jsp中struts2.0标签应用示例

    这里的`list`属性指定了列表数据源,`listKey`和`listValue`分别指定了列表项的键和值,`name`属性则用于绑定Action中的属性。 此外,Struts2的标签库还包括了`&lt;s:checkbox&gt;`和`s:radio&gt;`用于复选框和单选按钮,`...

    struts2 optiontransferselect标签使用中的问题

    这里,`name`属性是表单字段名,`list`、`listKey`和`listValue`分别表示单选列表的数据源、键和值,而`doubleList`、`doubleListKey`和`doubleListValue`则对应双选列表。 2. **数据绑定**: Struts2的标签支持...

    Struts2常用标签

    `list`属性指定选项列表,`listKey`和`listValue`分别对应列表项的键和值,`name`属性用于指定表单字段名。 4. **表单标签(form、textfield、textarea、password)** 这些标签用于创建HTML表单和输入元素。例如...

Global site tag (gtag.js) - Google Analytics