程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> ajax struts2 下拉框賦值 公用方法 深一度封裝

ajax struts2 下拉框賦值 公用方法 深一度封裝

編輯:關於JSP

1.此代碼適合所有下拉列表取值

2.一個項目所有的下拉列表只需要這一個公用方法;

步驟一:創建實體bean;

[java]
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; 
    } 
     

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;

[java]
**
 * 
 * @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(); 
    } 

    /**
     *
     * @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();
        }
    }[java] view plaincopyprint?sturts.xml 配置信息 

sturts.xml 配置信息[java] view plaincopyprint?<action name="listDictionary" method ="listDictionary" class="com.hzdracom.action.DictionaryAction"> 
     </action> 

<action name="listDictionary" method ="listDictionary" class="com.hzdracom.action.DictionaryAction">
     </action>
步驟三 封裝公用js代碼js文件名字 dictionary.js

[javascript]
/**
 *↓↓↓↓↓↓↓↓↓↓
 *作者:ZhuangZi
 *類名:公用方法初始化
 *功能:公用方法初始化
 *詳細:公用方法初始化
 *版本:1.0
 *日期:2013-03-22
 *說明:
 *↑↑↑↑↑↑↑↑↑↑
 */ 
$(function(){ 
 
/*1.下拉框取值↓↓↓*/ 
    selectBox([ 

/**
 *↓↓↓↓↓↓↓↓↓↓
 *作者:ZhuangZi
 *類名:公用方法初始化
 *功能:公用方法初始化
 *詳細:公用方法初始化
 *版本:1.0
 *日期:2013-03-22
 *說明:
 *↑↑↑↑↑↑↑↑↑↑
 */
$(function(){

/*1.下拉框取值↓↓↓*/
 selectBox([[javascript] view plaincopyprint?          {id_:"#down_type",id:"#downtype" ,flag:"2"}, 
          {id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}]); 
//selectBox{[{id_:"你的下拉框的被選中值的ID",id:"下拉框的ID",flag:"下拉框值的類型"}]};     

        {id_:"#down_type",id:"#downtype" ,flag:"2"},
        {id_:"#kuai_flag",id:"#kuaiflag" ,flag:"3"}]);
 //selectBox{[{id_:"你的下拉框的被選中值的ID",id:"下拉框的ID",flag:"下拉框值的類型"}]}; [javascript] view plaincopyprint?         //有一個{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]); 
    } 

         //有一個{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>

[html]
<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> 

<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傳的值

[java]
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; 
    } 

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;
    }
 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved