注意事项:

   (1):In HTML the <option> tag has no end tag.HTML中<option>标签不需要关闭。In XHTML the <option> tag must be properly closed. 在XHTML中<option>标签必须合理关闭。

在使用struts1中包含的下拉列表的标签包含:

    <html:select>生成HTML<select>元素

    <html:option>:生成HTML<option>元素

    <html:options>:生成一组HTML<options>元素

    <html:optionsCollection>生成一组HTML<options>元素。

其中<html:select>生成HTML<select>元素,表示下拉列表框或多选列表。在<html:select>标签中可以包含多个<html:option>,<html:options>,  <html:optionCollections>元素。

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

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

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

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

  <html:option>

    <html:option value="1">a</html:option>

       使用sturts1标签完成下拉框。基本示例如下:本地使用国产框架Buffalo.

    jsp脚本: 

    <td>
      <html:select property="grapeResult.grapeOptionId" name="grapeForm" styleId="options">
      </html:select>
    </td>

    <script language="JavaScript" src="<%=request.getContextPath()%>/scripts/buffalo.js"></script>

    var buffaloEmpInfo = new Buffalo('<%=request.getContextPath() %>' + '/xmlhttp');
    var END_POINT="<%=request.getContextPath()%>/xmlhttp";

    function result(reply){
      var returnResult = reply.getResult();
    $("#options").empty();
      if(returnResult.length > 0){
      for(var index = 0 ; index < returnResult.length ; index++){
        $("#options").append("<option value="+returnResult[index].oid +" style='color:"+returnResult[index].color.name+"'>●</option>");
     }
      }else{
        $("#nobutton").attr("disabled", true);
      }
    }

   <html:options>

        使用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>

  <html:options>
  <html:options collection="collection" labelProperty="displayName" property="value"/>
  其中collection为一个集合,一般是个ArrayList,displayName为前台显示的名称,value为后台实际使用的值.
  例:<html:options collection="arrayList" labelProperty="name" property="id" />

  

html:option的更多相关文章

  1. 在 C# 里使用 F# 的 option 变量

    在使用 C# 与 F# 混合编程的时候(通常是使用 C# 实现 GUI,F#负责数据处理),经常会遇到要判断一个 option 是 None 还是 Some.虽然 Option module 里有 i ...

  2. jsPanel插件Option总结

    jsPanel插件Option总结 学习jsPanel之余对相关的选项进行了总结,便于参考. # 选项名称 类别 简要说明 1 autoclose configuration 设置一个时间在毫秒后,面 ...

  3. jquery option

    转--jquery动态添加option示例 http://www.jb51.net/article/45031.htm //js动态添加option var sel= document.getElem ...

  4. 一个解析json串并组装echarts的option的函数解析

    缘起: 在组装echart页面的时候,遇到这样一个问题,它是一个需要在循环内层的时候,同时循环外层,在内层循环中就要将外层获取的值存入,导致了一种纠缠状态,费了老劲儿,终于得到如下解决.记录之,绿色为 ...

  5. AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题

    场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...

  6. select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!

    第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...

  7. 解决 odoo.py: error: option --addons-path: The addons-path 'local-addons/' does not seem to a be a valid Addons Directory!

    情况说明 odoo源文件路径-/odoo-dev/odoo/: 我的模块插件路径 ~/odoo-dev/local-addons/my-module 在my-module中创建了__init__.py ...

  8. echarts中显示效果option中必有的属性

    写一个最简单的效果让option中不可缺少的属性. var option = { xAxis:[ //x轴,数组对象,其下至少有一个对象 {.....} ], yAxis:[//y轴,数组对象,其下可 ...

  9. 让 select 的 option 标签支持事件监听(如复制操作)

    这标题,让option支持事件监听,应该不难的呀,有什么好讲的? 其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置 查了一些资料,姑且认为 ...

  10. 扩展htmlhelper.DropDownListFor 支持list数据源和option增加属性

    mvc自带的DropDownListFor数据源必须是IEnumerable<SelectListItem>.并且option不支持增加自定义属性.在使用bootstrap-select组 ...

随机推荐

  1. IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 '' 不存在

    描述 在使用imp命令将dmp文件导入oracle中时,遇到如下错误: IMP: 遇到 ORACLE 错误 ORA: 表空间 'TBS_CDUSER' 不存在 IMP命令如下: IMP cduser/ ...

  2. (原创)团体程序设计天梯赛-练习集 L1-048 矩阵A乘以B (15 分)

    给定两个矩阵A和B,要求你计算它们的乘积矩阵AB.需要注意的是,只有规模匹配的矩阵才可以相乘.即若A有R​a​​行.C​a​​列,B有R​b​​行.C​b​​列,则只有C​a​​与R​b​​相等时,两 ...

  3. 【转】windows server 2012 R2搭建IIS服务器

    源地址:http://blog.csdn.net/microsoft_wu/article/details/46521017

  4. poj2409(polya 定理模板)

    题目链接:http://poj.org/problem?id=2409 题意:输入 m, n 表示有 m 种颜色,要构造一个长度为 n 的手环,旋转和对称的只算一种,问能组成多少个不同的手环. 思路: ...

  5. 设置linux服务器文件夹权限

    最近搞的网站一上传图片,就报500错误.经排查是服务器文件夹权限设置问题. 使用命令: chmod o+rwx avatar 即可改变文件夹权限设置.

  6. shell操作数组

    #!/bin/bash nums=( ) echo ${#nums[*]} #向数组中添加元素 nums[]="http://c.biancheng.net/shell/" ech ...

  7. Python文件操作,异常语法

    1.文件 2.异常 1.文件的输入输出 #1.打开文件 open 函数open(file,[option])#file 是要打开的文件#option是可选择的参数,常见有 mode 等​#2.文件的打 ...

  8. 关于c语言的位运算&,|,^(看懂汉字的都能看懂)

    其中|,&可以当作逻辑运算符,当|,&当成逻辑运算符时,与||,&&的用法基本相似,&&,||运算时会当前面的表达式能够决定整个表达式,则不进行对后面的 ...

  9. jQuery form插件的使用--ajaxForm()和ajaxSubmit()

    转载:https://blog.csdn.net/qq_38602656/article/details/78668924

  10. 锁、CAS操作和无锁队列的实现

    https://blog.csdn.net/yishizuofei/article/details/78353722 锁的机制 锁和人很像,有的人乐观,总会想到好的一方面,所以只要越努力,就会越幸运: ...