`

下拉框

    博客分类:
  • JAVA
阅读更多
1.VO属性设为MAP:
   private HashMap cityHm = null;
   /**
     * 设置城市信息
     * @param id 城市ID
     * @param desc 城市显示名
     */
    public void setCityHm(String id,String desc)
    {
        if(cityHm == null){
            cityHm = new HashMap();
        }
        cityHm.put(id,desc);
    }

    public void setCityHm(HashMap cityHm)
    {
        this.cityHm=cityHm;
    }
    /**
     * 获取城市HASH年信息
     * @return HashMap 城市信息的HASHMAP
     */
    public HashMap getCityHm()
    {
        return cityHm;
    }


2.ACTIONFORM属性设为List:
    public List getCityList()
    {
        return cityList;
    }

    public void setCityList(List cityList)
    {
        this.cityList = cityList;
    }

3.Service层中查数据赋值到MAP中:
... ...
String citySql="select CITYID,CITYNAME,PROVINCEID from city c  where c.PROVINCEID = ?";
String[] cityParam={provinceId};  //通过省ID查相关城市
HashMap cityMap=this.parseParam(citySql,cityParam);
if(cityMap==null){
      cityMap=new HashMap();
}
if(typeId==ActionConstants.ACT_ID_UPDATE){
      cityMap.put("-1", "请选择");
}else if(typeId==ActionConstants.ACT_ID_ADD){
      cityMap.put("-1", "请选择");
}else if(typeId==ActionConstants.ACT_ID_QUERY){
      cityMap.put("-1", "全部");
}
vo.setCityHm(cityMap);
retrun vo;
... ...


4.Action 中赋值: getList调用下面方法

MiscPrefixInitVO initVO = (MiscPrefixInitVO)result.getretVO();
prefixNumForm.setCityList(getList(initVO.getCityHm()));
return mapping.findForward("query");

/**
     * 把hashMap内容排序后放到List
     *
     * @param map HashMap
     * @param select int
     * @return ArrayList
     */
    private List getList(HashMap map)
    {
        ArrayList list = new ArrayList();
        if(map == null){
            return list;
        }
        LabelValueBean labelValue = null;

        //排序
        Set set = map.keySet();
        Object[] obj = set.toArray();
        int[] iobj = new int[obj.length];
        List keylist = new ArrayList();
        for(int i = 0; i < obj.length; ++i){
            iobj[i] = Integer.parseInt(obj[i] + "");
            keylist.add(new Integer(iobj[i]));
        }
        Collections.sort(keylist);
        //~排序结束

        Iterator itor = keylist.iterator();
        String key = null;
        while(itor.hasNext()){
            key = itor.next() + "";
            labelValue = new LabelValueBean(map.get(key) + "", key);
            list.add(labelValue);
        }
        return list;
    }

5.JSP页面显示:
<html:select property="city">
        <html:optionsCollection name="prefixNumForm" property="cityList"/>
</html:select>



直接传SQL语句合查询条件的参数查数据:-----------------------------------------------------------------------
返回的是map

 private HashMap parseParam(String sql,Object[] param)throws FrameException{
    ResultSet rs = null ;
    PreparedStatement stm = null ;
    Connection conn = null ;
    HashMap map=new HashMap();
    try 
    {
      conn=JdbcConnSource.getConnection();
    }
    catch (Exception ex) 
    {
        FrameException fe =new FrameException(OAMErrorCodeConst._EC_WTC_DB_ERROR,ex);
        throw fe;
    }
    try
    {
      stm = conn.prepareStatement ( sql ) ;
      if ( param != null )
        for ( int i = 0 ; i < param.length ; i++ )
          stm.setObject ( i + 1 , param[i]) ;
      	  rs = stm.executeQuery () ;
      while(rs.next())
      {
        map.put(rs.getString(1),rs.getString(2));
      }
    }
    catch ( SQLException e )
    {
        FrameException fe =new FrameException(OAMErrorCodeConst._EC_WTC_DB_ERROR,e);
        throw fe;
    }
    catch ( Exception e )
    {
        FrameException fe =new FrameException(OAMErrorCodeConst._EC_WTC_DB_ERROR,e);
        throw fe;
    }
    finally
    {
      JdbcConnSource.close(rs, stm, conn);
    }
    return map;
  }

分享到:
评论

相关推荐

    可以输入的下拉框 下拉框和文本框组合共用

    可以输入的下拉框. 下拉框和文本框组合共用可以输入的下拉框. 下拉框和文本框组合共用可以输入的下拉框. 下拉框和文本框组合共用可以输入的下拉框. 下拉框和文本框组合共用可以输入的下拉框. 下拉框和文本框组合共用...

    Python爬虫之Selenium下拉框处理的实现

    在我们浏览网页的时候经常会碰到下拉框,WebDriver提供了Select类来处理下拉框,详情请往下看: 本章中用到的关键方法如下: select_by_value():设置下拉框的值 switch_to.alert.accept():定位并接受现有警告框...

    可编辑下拉框.动态加载数据

    下拉框读取数据库数据.有时候数据多.会拉的很长.客户搜索起来很不方便.现在可以编辑下拉框,可根据输入的内容重新加载下拉框的内容.令客户选择查找起来更方便. 使用方法.将此js复制到项目中.在用到需要编辑下拉框的...

    使用javascript实现下拉框的动态控制

    资源名称:使用Javascript实现下拉框的动态控制   内容简介: 使用Javascript实现下拉框的动态控制 一、前言 下拉框是常用的一种web页面控件。它很简单实用,便于 操作者从…组选项...

    VC++中实现复选下拉框CCheckComboBox

    该资源在VS2008SP1 IDE中编写,主要介绍了如何在VC++中实现复选下拉框,其中包含了CheckComboBox.h和CheckComboBox.cpp两个文件,这两个文件实现了复选下拉框的功能。但作者Margin在使用复选下拉框时发现:在模态...

    下拉框值触发另一个下拉框

    一个下拉框的值被选中后,触发另一个下拉框状态为可选! 若值为空则为不可选!

    EXTJS 选下拉框,并取得下拉框的值

    EXTJS 选下拉框,并取得下拉框的值,直接可以打开

    js多选下拉框多选下拉框多选下拉框

    js多选下拉框多选下拉框多选下拉框js多选下拉框多选下拉框多选下拉框

    bootstrap树形下拉框 下拉框树形菜单

    bootstrap树控件使用bootstrap-treeview.js树形控件在下拉框select中显示,带树形的下拉框

    JS多选下拉框_实现多项选择

    JS多选下拉框,实现多选。点击显示下拉。 &lt;!-- function $(e){return document.getElementById(e) ;} $('btnSelect').onclick = function () { //§ó§ï?? $('status').innerHTML = $('status').innerHTML=...

    随着下拉框的改变 下拉框的值也在同步变化

    js实现通过改变下拉框的值,输出相应的下拉框的value

    下拉框美化下拉框美化

    下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化下拉框美化

    jQuery 下拉框插件-带列表,带输入,快速查找及结果分页展示的多功能选择器

    强大的jquery下拉框插件 下拉框展示带列表分页功能,适合下拉框大量数据展示 下拉框带快速查找,可以快速筛选 支持多选 基于jQuery、Bootstrap2、3开发 也可应用于无任何UI框架的原生HTML环境 Autocomplete输入自动...

    可编辑的下拉框

    这是一款堪称最完美的下拉框组件,特点如:美化的并且可自定义的外观、使用简单、支持分组、下拉列表展开的方向智能化、下拉框可编辑、集成了ajax联动功能、自定义下拉列表的列数、完美的浏览器兼容性等。...

    树形下拉框样式

    树形下拉框样式

    下拉框美化 美丽的下拉框

    下拉框美化 span.blueCircle_downArrow {overflow:hidden;margin:0;padding:0 20px 0 10px;background:url(blueCircle_bg.gif) no-repeat;vertical-align:middle;line-height:25px;text-align:left;cursor:pointer;...

    winform下拉框输入汉字首字母快速检索所需项

    此程序是c# winform 开发的下拉框选择功能,可以通过输入各选项汉字的首字母快速检索所需项,当然,里面其中最大的功能是汉字转拼音功能(汉字全拼/汉字首字母等功能)。由于刚好一个老系统在用vs2003,所以,索性就...

    android完美下拉框控件

    android完美下拉框控件android完美下拉框控件android完美下拉框控件android完美下拉框控件

Global site tag (gtag.js) - Google Analytics