注意事项:

   (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. EOS 配置mongodb

    本文实现方案:在虚拟机ubuntu上运行单节点的EOS,把数据存储到mongodb中,然后通过本地的windows查看mongodb的数据. 配置如下: 虚拟机: ubuntu 16.04   EOS ...

  2. Ruby truthy and falsey

    在Ruby里只有false 和nil表示falsey link: https://gist.github.com/jfarmer/2647362

  3. apache 日志分割

    Window apache 全局设置日志分割   apache  [ httpd.conf ] 配置文件 开启日志模块:LoadModule log_config_module modules/mod ...

  4. java的Spring学习1--spring引用及属性(setter,getter)注入

    1.目录结构 项目->src->main->java->com.test.ppmoney 设置java文件夹为代码  在Project Structure 里的 Modules ...

  5. git 合并某个提交commit到指定的分支上

    https://blog.csdn.net/anhenzhufeng/article/details/77962943 git checkout master git cherry-pick 62ec ...

  6. spring mvc 自定义handler不拦截静态资源

    处理静态资源的handler和处理Controller请求中的handler不同,对应的Interceptor也不同 查找对应handler是在DispatcherServlet中 因此一些自定义的I ...

  7. inode与block知识总结

    inode概述:硬盘要分区,然后格式化,创建文件系统在每个Linux存储设备的分区被格式化为ext3文件系统后一般有两个部分:    第一部分Inode:存储这些数据的属性信息(大小,属主,归属的用户 ...

  8. Python Pandas -- DataFrame

    pandas.DataFrame class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) ...

  9. spark项目打jar包,不包含依赖包问题的解决方案

    mvn clean package打包maven-archetype-webapp项目时,打包后的jar包含项目中引用的jar包(解压后,在WEB-INF有一个lib目录,该目录下有所有依赖包). m ...

  10. execlp启动android进程命令

    execlp启动Android界面或service/广播参数设置 -n代表打开组件-d代表 data-a代表action 打开网页 调用am命令 if (sdkVersion >= 17) { ...