struts2实现二级菜单联动

来源:互联网 发布:js写html代码 编辑:程序博客网 时间:2024/05/01 15:06

 

实现框架:struts2+jquery+json

一.JSON介绍:

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

二.实现步骤:

2.1/WEB-INF/lib/下导入

struts2/json-lib-2.1.jar

struts2/struts2-json-plugin-2.1.8.1.jar

2.2jsp文件代码:

    <script    type="text/javascript"src="scripts/jquery-1.3.2.js"></script>

 

    <script type="text/javascript">  

    function getCom(){  

        var pid=$("#area_id").val();

        //alert(pid);

        

        $.ajax({  

            cache:false,  

            url:'ajaxGetComName.action',  

            type:'post',  

            dataType:'json',  

            data:{area_id:pid},  

            success:update_c  

        });  

    }  

    function update_c(json){  

        var comList=json.list;

        //alert(comList); 

        var s_root=document.getElementById('com_id');  

        s_root.options.length=0; 

        var pid=$("#area_id").val();

       

        for(var i in comList){  

            var option = document.createElement("option");  

            var value=comList[i].com_id;     

            var text=comList[i].com_name;

            var area_id=comList[i].area;

            if(pid==area_id){

                option.text=text;  

                option.value=value;  

                s_root.options[s_root.options.length] =option;

            } 

        }

          

    }  

</script>

 

<tr>

              <td align="right" width="35%">品牌:</td>

              <td><select name="area_id" id="area_id" onchange="getCom()">

                  <option value="1"> </option>

                  <option value="2"> </option>

                  <option value="3"> </option>

              </select> &nbsp;&nbsp;

               

              <select name="ter.com_id" id="com_id">

                 

              </select></td>

 

    </tr>

2.3struts.xml文件:

    <package name="default" extends="struts-default,json-default">

    增加extends json-default

 

<action name="ajax*" class="com.aspire.mdo.ualib.action.ComAction" method="ajaxGetComName"> 

            <result type="json" ></result> 

     </action>

 

2.4java文件:

    private List<MobileCompanyBaseInfoPO> list;

 

       @JSON(name="list")

        public List<MobileCompanyBaseInfoPO> getList() {

           return list;

        }

 

       public String ajaxGetComName(){

       try{

           list = dao.getMobileCompanysBaseInfoByArea(area_id);

       }catch(Exception e){

           e.printStackTrace();

           log.error(e);

       }

       return SUCCESS;

    }

 

原创粉丝点击