首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax struts2 下拉框赋值 公用步骤 深一度封装

2013-03-27 
ajax struts2 下拉框赋值 公用方法深一度封装1.此代码适合所有下拉列表取2.一个项目所有的下拉列表只需要

ajax struts2 下拉框赋值 公用方法 深一度封装

1.此代码适合所有下拉列表取值

2.一个项目所有的下拉列表只需要这一个公用方法;

步骤一:创建实体bean;

public class DictionaryBean {    private String value_Id;//下拉框option的id    private String value;//下拉框option的值    private String flag;//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等;    public String getValue_Id() {        return value_Id;    }    public void setValue_Id(String valueId) {        value_Id = valueId;    }    public String getValue() {        return value;    }    public void setValue(String value) {        this.value = value;    }        public String getFlag() {        return flag;    }    public void setFlag(String flag) {        this.flag = flag;    }    }

步骤二 在你action里面写个如下取listbean的方法,listbean封装的是 bean.valueId 和bean.value;

    /**     *      * @author ZhuangZi     * @class com.hzdracom.action.DictionaryAction     * @method listDictionary     * @Directions  获取下拉列表信息公用方法     * @date 2013-3-21上午10:08:39 void     */    public void listDictionary(){        String json="";        try{            listDictionary = dictionaryService.handleListDictionary(bean);            json=JSON.toJSONString(listDictionary);//转换成json字符串            HttpServletResponse response=ServletActionContext.getResponse();                response.setContentType("text/html");               response.setCharacterEncoding("utf-8");             PrintWriter out;                out = response.getWriter();              out.println(json);             out.flush();                out.close();         }catch(Exception e){            e.printStackTrace();        }    }
sturts.xml 配置信息
<action name="listDictionary" method ="listDictionary" class="com.hzdracom.action.DictionaryAction">     </action>


步骤三 封装公用js代码js文件名字 dictionary.js

/** *↓↓↓↓↓↓↓↓↓↓ *作者:ZhuangZi *类名:公用方法初始化 *功能:公用方法初始化 *详细:公用方法初始化 *版本:1.0 *日期:2013-03-22 *说明: *↑↑↑↑↑↑↑↑↑↑ */$(function(){/*1.下拉框取值↓↓↓*/selectBox([
      {id_:"#down_type",id:"#downtype" ,flag:"2"},      {id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}]);//selectBox{[{id_:"你的下拉框的被选中值的ID",id:"下拉框的ID",flag:"下拉框值的类型"}]};
         //有一个{id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}这种对象就有一个下拉框信息;}); /** *↓↓↓↓↓↓↓↓↓↓ *作者:ZhuangZi *类名:获取下拉框值公用方法 *功能:下拉列表取值 *详细:加载下拉列表 *版本:1.0 *日期:2013-03-22 *说明:如果新加一个下拉框 需要给数组list添加一个对象 *参数:id_:下拉框被选中值的ID;id:下拉框ID;flag:下拉框值的类型,即显示内容类型 *↑↑↑↑↑↑↑↑↑↑ */function selectBox(list){for ( var i = 0,len = list.length; i < len; i++) {(function(bean){var pageId=$(bean.id_).val();$.ajax({ type:'post', url:'../dictionary/listDictionary.do', data:'bean.flag='+bean.flag, dataType:'json', success:function(json){ for(var i=0; i< json.length;i++){ $(bean.id).append("<option value='"+json[i].value_Id+"'>" +json[i].value+"</option>"); if(pageId !=null && pageId!="" && pageId==json[i].value_Id){  $(bean.id).find("option").attr("selected",true); }            } },     error:function(){             alert('error');          } });})(list[i]);}}


步骤四 页面信息 下面隐藏域信息 ,就是你选某项查询后,它就会被选中的值

引入js

<script language="javascript1.2" src="<s:url value="/js/jquery.js" includeParams="false"/>"></script>
<script language="javascript1.2" src="<s:url value="/js/dictionary.js" includeParams="false"/>"></script>

<s:hidden id="down_type" name="yhaoPortalsDownBean.downType"/><td width="25%" height="33" class="addtabletd1">下载类型标识:</td><td width="25%" height="33" class="addtabletd2">   <select  id="downtype" name="yhaoPortalsDownBean.downType" class="textfrom" class="width:120" >     <option value="">---所有---</option>   </select></td>


步骤五 附加信息 dao里面方法 下面方法用到的flag 就是js里面flag传的值

public List<DictionaryBean> handleListDictionary(DictionaryBean bean)throws DataAccessException,Exception {        List<DictionaryBean> list = new ArrayList<DictionaryBean>();        try{            String sql="";            /* 获取页面下拉列表*/            if (bean.getFlag().equals("1")) {                sql = "SELECT PAGE_FLAG VALUE_ID,PAGE_NAME VALUE FROM YHAO_PORTALS_PAGE";            }            /* 获取下载类型标识下拉列表*/            if (bean.getFlag().equals("2")) {                sql = " SELECT DOWNTYPE_FLAG VALUE_ID,DOWNTYPE_NAME VALUE FROM YHAO_PORTALS_DOWNTYPE ";            }            /* 获取块标识下拉列表*/            if (bean.getFlag().equals("3")) {                sql = " SELECT KUAI_FLAG VALUE_ID,KUAI_NAME VALUE FROM YHAO_PORTALS_KUAI ";            }            list = this.query(sql,new DictionaryList());        }catch(Exception e){            e.printStackTrace();        }        return list;    }


 


 好了已经完成了。

热点排行