论坛登陆 用户名:  密 码:
设为首页  加入收藏
07年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
Struts 中 html:options 的使用
 作者:佚名     2007-3-14 17:35:58        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

html:options是Struts中比较复杂的一个tage lib,用法灵活,但是Sturts提供的源码exercise taglib中没有提出常用jsp+ActionForm这样形式的最直接的总结,现从中总结如下,分两种情况:数组和Collection。
  
  需求,要达到:
  
  
  要实现上述效果,需要两步:
  第一:设置ActionForm,
  也分两小步:第一小步必须在ActionForm中,有一句
  private Collection beanCollection;
  public Collection getBeanCollection();
  
  Collection beanCollection要确保是一个实现,如ArrayList,如果不是则会报No collection found的错误,Struts的最大不方便就是一旦出问题,定位很难,不知道什么地方使用错误,或忘记设置什么了。
  
  因为前面需求中option的value值和label值不一样,那么在beanCollection中保存的就是一个value和label组成的对象,名为LabelvalueBean,在LabelvalueBean中有两个属性value和label,
  
  在程序某个地方要为beanCollection赋值,如:
  
  Vector entries = new Vector(10); 
  entries.add(new LabelvalueBean("Label 0", "value 0"));     
  entries.add(new LabelvalueBean("Label 1", "value 1"));     
  entries.add(new LabelvalueBean("Label 2", "value 2"));     
  entries.add(new LabelvalueBean("Label 3", "value 3"));     
  entries.add(new LabelvalueBean("Label 4", "value 4"));      
  entries.add(new LabelvalueBean("Label 5", "value 5"));     
   entries.add(new LabelvalueBean("Label 6", "value 6"));      
  entries.add(new LabelvalueBean("Label 7", "value 7"));      
  entries.add(new LabelvalueBean("Label 8", "value 8"));      
  entries.add(new LabelvalueBean("Label 9", "value 9"));
  
  然后执行setBeanCollection(entries);
  这样ActionForm中的beanCollection算有值了。
  第二小步,需要设置Selected,selected有两种,单选和多选:
  在ActionForm中必须有:
  
  private String singleSelect = "Single 5"; 
  public String getSingleSelect()
   {
     return (this.singleSelect);
    } 
  public void setSingleSelect(String singleSelect)
   {
     this.singleSelect = singleSelect;
    }
  
  或多选,多选必须是数组:
  
  private String[] beanCollectionSelect = { "value 1", "value 3",
                         "value 5" }; 
  public String[] getBeanCollectionSelect() {
    return (this.beanCollectionSelect);  }
    public void setBeanCollectionSelect(String beanCollectionSelect[])
   {
      this.beanCollectionSelect = beanCollectionSelect;
    }
  
  第二:在Jsp中写入tang lib语句如下:
  
  
        
  

  
  其中testbean是ActionForm的名称。
  
  以上是html:options的Collection解决方案,如果option值很少,简单地可以实现为数组,两步:
  第一:在ActionForm中,
  
  private String values[] =
     { "Magazine", "Journal", "News Paper","Other" }; 
  private String labels[] =
     { "L-Magazine", "L-Journal", "L-News Paper","L-Other"};
    private String selected = "Magazine";  
  public String getSelected()
  {
     return selected;
    }  
  public void setSelected(String selected)
  {
     this.selected = selected;
    } 
  public String[] getvalues()
  {
     return values;
    }  
  public void setvalues(String[] values)
  {   this.values = values;
    } 
  public String[] getLabels()
  {
     return values;
    }  
  public void setLabels(String[] labels)
  {
     this.labels = labels;
    }
  
  第二步在jsp中:
  
       
     

  
  Struts标签库的使用还是需要小心,不必完全使用Struts的标签库,个人感觉Struts这种替代Html语句的标签库有一种牵强附会,给使用者掌握带来难度,使用者除熟悉html外,还必须理解Struts的对应标签库用法,而且这种调试出错,问题也无法准确定位,总是抽象地告诉你,no bean 或no form


责任编辑:lss
  相关新闻
TreeView 控件应用详解
Struts开发指南之Taglib的初步了解
TestKing 070-299 V14
TestKing 070-296 V45.1
在Struts框架下使用时间类型
看看如何在Struts应用中施展AJAX魔法
TestKing 070-272 V13
TestKing 070-294 V28
Struts应用系统案例设计之需求分析
Vista新技术:WCF开发指南之客户端开发
TestKing 070-299 V14
TestKing 070-294 V28
TestKing 070-291 V49
TestKing 070-296 V45.1
TestKing 070-272 V13
TestKing 070-271 V14
了解 Struts 框架的全新后代--Shale
Struts开发指南之Taglib的初步了解
在Struts框架下使用时间类型
运用Jakarta Struts的七大实战心法
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号