`

<html:select>,<html:option>,<html:options>标签

阅读更多
在<html:select>标签中可以包含多个<html:option>,<html:options>,<html:optionCollections>元素。

<html:select>标签有以下重要属性

size属性:指定每次在网页上显示的可选项的数目。


multipe属性:指定是否支持多项选择,如果设置为true,就表示多选列表,支持多项选择。否则只表示下拉列表。只支持单选操作。默认值false

property属性:与ActionForm Bean中的某个属性对应,这个属性用来存放用户在列表上选中选项的值。在单项选择的情况下,ActionForm Bean中的对应属性对应该列表上选项的值。在单项选择情况下,

ActionForm Bean对应属性应该定义为简单类型(不能为数组),在多项选择情况下,ActionForm Bean中的对应属性应该定义为数组类型,以便存放用户选择的多个选项。

<html:option>


标签生成HTML<option>元素,这个标签被嵌套在<html:select>标签中,代表列表的一个可选项的Label,既现在是在页面上的值。这中值有两个来源。

1.直接指定文本内容
<html:option value="1">Label来源1:直接指定文本内容</html:option>

2.通过Resource Bundle中的内容。

例如:ApplicationResources.properties资源文件中存在如下键值对:a1=happySelect

标签中通过key关联到资源文件,指定要显示内容。
<html:option value="1" key="a1" /> 这样在页面上显示出happySelect

3.通过key,bundle同时指定要显示的内容

bundle与Struts配置文件中<message-resources>元素配置的Resource Bundle的资源文件key匹配

<message-resources parameter="com.struts.happy" key="happyhtml"/>

<html:option value="1" bundle="happyhtml" key="a1" /> 这样在页面上显示出happySelect


把列表的可选项的显示文本存放在Resource Bundle中,而不是直接在JSP文件中指定,有利于实现国际化。


<html:option>元素的value属性指定可选项的实际值。

<html:options>

标签生成一组HTML标签<option>元素。在<html:select>元素中可以包含多个<html:options>元素。


1.使用coolection属性指定存在某个范围中的集合来生成列表项,注意coolection属性指定的集合,该对象的每一个元素为一个Bean。

例如有如下实体类

package com.pojo;

public class Users {

private String userName;
private String userValue;
public Users(){}

public Users(String userName,String userValue)
{
   this.userName=userName;
   this.userValue=userValue;
}
public String getUserName() {
   return userName;
}
public void setUserName(String userName) {
   this.userName = userName;
}
public String getUserValue() {
   return userValue;
}
public void setUserValue(String userValue) {
   this.userValue = userValue;
}

}

将实体类实例放入ArrayList列表然后放入reqeust范围内
   Users u1=new Users("1","高中");
   Users u2=new Users("2","本科");
   Users u3=new Users("3","硕士");
   Users u4=new Users("4","博士");
   ArrayList array=new ArrayList();
   array.add(u1);
   array.add(u2);
   array.add(u3);
   array.add(u4);
request.setAttribute("xueli",array);

使用
<html:options>标签生成可选项

<html:select property="xueli" multiple="true" size="3">
<html:options
   collection="xueli"
   property="userName"
   labelProperty="userValue"/>
</html:select>:

collection指定存放在request范围内的集合

property指定<html:option>实际值
labelProperty指定<html:option>显示到页面上的文本。

当使用property属性和labelProperty属性时,会根据属性指定的名称调用相应Bean中的getXXX方法来获得属性值。

生成HTML效果如下

<option value="1">高中</option>
<option value="2">本科</option>
<option value="3">硕士</option>
<option value="4">博士</option>


2.利用name属性指定存放在某个范围中的对象,并有property属性指定该对象的某个属性来生成列表项。

例如
   Object[] obj=new Object[]{"高中","本科","硕士","博士"};
   request.setAttribute("xueli",array);


<html:options
 name="xueli"/>
生成HTML效果如下:

<option value="高中">高中</option>
<option value="本科">本科</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>

如果
<html:options
    name="xueli"
    property="userName"
    labelProperty="userValue"/>

将报如下异常
javax.servlet.jsp.JspException: No getter method available for property userName for bean under name xueli

如果使用name属性指定集合那么需要使用<html:optionsCollection >标签

<html:optionsCollection>

<html:select>标签中可以嵌套多个<html:optionsCollection>标签


标签与<html:options>标签相似,他通过name属性或property属性指定一个集合对象,该对象中的每一个元素为一个Bean,并且在Bean中分别具有与标签中label属性和value属性指定的值匹配的getXXX方法。

其中label属性用来指定列表项的标签(显示给指定的用户),value属性用来指定实际值(提交给服务器的值)

例如:
ArrayList列表然后放入reqeust范围内
   Users u1=new Users("1","高中");
   Users u2=new Users("2","本科");
   Users u3=new Users("3","硕士");
   Users u4=new Users("4","博士");
   ArrayList array=new ArrayList();
   array.add(u1);
   array.add(u2);
   array.add(u3);
   array.add(u4);
request.setAttribute("xueli",array);


<html:optionsCollection
     name="xueli"
     value="userName"
     label="userValue"/>
</html:select>


eg:

*******
<html:select property="name" value="0">
<html:options collection="list" property="name" labelProperty="age"/>
<html:option value="0">无</html:option>
</html:select>
<!-- 多个复选框 -->
<logic:iterate id="item" name="mapForm" property="lvBeans">
<html:multibox name="mapForm"  property="selectedChk">
<bean:write name="item" property="value"/>
</html:multibox>
<bean:write name="item" property="label"/>
</logic:iterate><br>
<!-- 单选下拉列表 -->
<html:select  property="selBirth" value="0">
<html:option value="0">无</html:option>
<html:optionsCollection name="mapForm"  property="optionBirth" />
</html:select>
<br>
<!-- 多选下拉列表 -->
<html:select  property="selBirths" value="0" multiple="true">
<html:option value="0">无</html:option>
<html:optionsCollection name="mapForm"  property="optionBirth"/>
</html:select>

分享到:
评论

相关推荐

    jsp中htmlselect标签的用法

    &lt;html:option value="1"&gt;&lt;bean:write name="dept" property="name"/&gt;&lt;/html:option&gt; &lt;/logic:iterate&gt; &lt;/html:select&gt; ``` 这段代码中,`logic:iterate`标签用于遍历`depts`集合,`bean:write`则用于输出集合中每...

    struts操作select标签实例

    &lt;c:forEach items="${form.options}" var="option"&gt; &lt;html:option value="${option}"&gt;${option}&lt;/html:option&gt; &lt;/c:forEach&gt; &lt;/html:select&gt; ``` 这里,`${form.options}`引用了ActionForm中的List,`var=...

    htmlSelect.txt

    ### 关于 `&lt;html:select&gt;`、`&lt;html:option&gt;`、`&lt;html:options&gt;` 和 `&lt;html:optionsCollection&gt;` 的详细解析 #### `&lt;html:select&gt;` 标签 `&lt;html:select&gt;` 是一个用于生成 HTML `&lt;select&gt;` 元素的标签。在 Struts 1.x...

    jspHTML标签库

    `&lt;html:options&gt;`、`&lt;html:option&gt;`用于创建下拉列表,`&lt;html:table&gt;`、`&lt;html:tr&gt;`、`&lt;html:td&gt;`则用于构建表格。例如: ```jsp &lt;html:select property="color"&gt; &lt;html:option value="red"&gt;Red&lt;/html:option&gt; ...

    Struts标签的使用说明

    Struts标签库是Struts框架的核心组成部分之一,用于简化页面的开发和维护,提供了一系列预定义的HTML标签,使得开发者能够更加高效地构建动态Web应用。以下是对Struts标签库中部分常用标签的详细解析: ### 1. `...

    HTML中的select标签如何使用.docx

    创建一个简单的`&lt;select&gt;`标签,需要在`&lt;select&gt;`标签内部包含一系列的`&lt;option&gt;`标签,每个`&lt;option&gt;`代表一个可选的值。例如: ```html &lt;select&gt; &lt;option&gt;张三&lt;/option&gt; &lt;option&gt;李四&lt;/option&gt; &lt;option&gt;王二...

    Struts 中用Html 标签库的用法(第一部分).rar

    Struts HTML标签库提供了一些处理选择和列表的标签,如`&lt;html:options&gt;`、`&lt;html:select&gt;`等。例如,创建一个下拉列表: ```jsp &lt;html:select property="gender"&gt; &lt;html:option value="male"&gt;Male&lt;/html:option&gt;...

    SpringMVC中form:select的使用

    这可以通过`form:options`标签实现,它可以遍历一个集合并生成对应的`&lt;option&gt;`标签。例如: ```jsp &lt;form:select path="selectedCity"&gt; &lt;form:options items="${cityList}" itemValue="id" itemLabel="name" /&gt; ...

    html标题库 详细和各种功能

    - `&lt;html:option&gt;`、`&lt;html:options&gt;`、`&lt;html:optionsCollection&gt;`:配合`&lt;html:select&gt;`使用,定义下拉列表中的选项。 - `&lt;html:submit&gt;`、`&lt;html:button&gt;`:创建提交按钮和普通按钮。 - `&lt;html:reset&gt;`、`...

    spring mvc标签使用指南

    `&lt;form:options&gt;`用于根据给定的列表或映射创建多个`&lt;form:option&gt;`标签,如上例所示。 113.9.12. **textarea标签** `&lt;form:textarea&gt;`创建多行文本输入字段,例如: ```jsp &lt;form:textarea path="bio" /&gt; ``` `bio...

    struts标签例子

    - 创建一个下拉列表:`&lt;html:select property="color"&gt;&lt;html:option value="red"&gt;红色&lt;/html:option&gt;&lt;/html:select&gt;` 通过使用Struts标签,开发者可以更方便地管理页面逻辑,减少在JSP页面中编写Java脚本的需要,...

    在struts中实现下拉列表

    List&lt;Option&gt; options = loadOptionsFromDatabase(); // 自定义方法,从数据库加载选项 for (Option option : options) { optionsList.add(new Option(option.getValue(), option.getText())); } } ``` 然后在...

    Struts标签库学习.rar

    HTML标签库提供了与HTML表单元素交互的能力,如`&lt;html:text&gt;`、`&lt;html:password&gt;`、`&lt;html:submit&gt;`等,它们可以方便地绑定到ActionForm对象的属性,简化了从前端到后端的数据传递。例如,`&lt;html:form&gt;`标签用于创建...

    struts配置文件.docx

    7. `&lt;html:options&gt;`:通常放在`&lt;html:select&gt;`内部,用于填充选项。`collection`属性可以引用ActionForm Bean的一个集合,`label`和`value`属性分别表示选项的显示文本和实际值。 在配置Struts时,理解这些HTML...

    struts标签相关的一个java工程

    4. **选择/列表标签**:如`&lt;html:options&gt;`、`&lt;html:option&gt;`和`&lt;html:select&gt;`,这些标签用于创建下拉列表或多选框,通常与ActionForm的属性配合使用,从后台动态填充选项。 5. **国际化标签**:使用`&lt;bean:...

    学习struts很好的文档

    - `&lt;html:options&gt;`:生成多个选项。 - `&lt;html:optionsCollection&gt;`:从集合生成多个选项。 - `&lt;html:file&gt;`:生成文件上传控件。 - `&lt;html:errors&gt;`:显示表单错误信息。 - `&lt;html:messages&gt;`:显示消息信息。 ###...

    struts2-s标签

    这些标签用于创建下拉列表和子集选择框,`&lt;s:select&gt;` 创建标准的下拉列表,而 `&lt;s:subset&gt;` 可以从集合中选择子集。 **示例:** ```xml &lt;s:select name="country" list="countries" headerKey="-1" headerValue=...

    struts2.0的标签库

    &lt;s:label for="email"&gt;Email:&lt;/s:label&gt; ``` 创建一个与`email`输入框关联的标签。 29. **`&lt;s:merge&gt;`** - 合并多个列表。例如: ```jsp &lt;s:merge var="mergedList"&gt; &lt;s:property value="list1"/&gt; &lt;s:...

    struts2标签整理

    &lt;s:select name="select" list="options" headerKey="" headerValue=""/&gt; ``` ##### 39. `&lt;s:set&gt;` - 设置标签 用于设置变量值。 ```jsp &lt;s:set name="myVar" value="%{#session.user.name}"/&gt; ``` ##### 40. `&lt;s:...

    Spring MVC表单标签库

    - `&lt;form:select&gt;`、`&lt;form:option&gt;`:用于创建下拉选择框,`&lt;form:options&gt;`标签则用于填充选项。 - `&lt;form:checkbox&gt;`、`&lt;form:radio&gt;`:创建复选框和单选按钮。 3. **表单处理流程** - 用户在前端通过表单...

Global site tag (gtag.js) - Google Analytics