我的数据库如下: |
|
40分 |
1、把从数据库里取出来的数据组装成这样的形式
Bean(ID NAME PID(也可以包含其他的属性)) 有个疑问 |
我数据库中是这样的插入数据后:
ID sku name unit code 一级 二级 三级 2 D000001 豆腐卤西瓜 6kg 6920343247 01 0101 010101 3 D000002 西瓜卤豆腐 500g 6903423424 02 0202 020101 |
|
40分 |
那这样说吧 |
一级商品 三级商品
1 田园时蔬 3 生态蔬菜 净菜类 叶菜类 2生态蔬菜 菌菇(二级商品) 菌菇 精品菌菇 野生菇 总体是这样的 |
|
田园时蔬 下面 包含 二级商品生态蔬菜 菌菇 ,生态蔬菜下面包括净菜类 叶菜类(三级商品),菌菇下面包括精品菌菇 野生菇(三级商品)
|
|
一级 二级 三级
01 0101 010101 02 0202 020101 我这里一级代表某个商品,二级 三级也是,到时候我在页面手动给 |
|
那里在前台是显示成这样吗?
田园时蔬 生态蔬菜 净菜类 叶菜类 菌菇 精品菌菇 野生菇 |
|
是的啊,我在dao里面的方法不知道怎么写啊
|
|
田园时蔬
生态蔬菜 净菜类 叶菜类 菌菇 精品菌菇 野生菇 就是你这样的效果! |
|
我现在用递归重复调用某个方法在页面显示可以吗???具体怎么去写???
|
|
1、声明一个类
class TreePojo{ private String id; private String name; private String pid; } 2、然后再组成一个List List<TreePojo> list = new ArrayList<TreePojo>(); TreePojo pojo = new TreePojo("01","田园时蔬","0"); TreePojo pojo = new TreePojo("0101","生态蔬菜","01"); TreePojo pojo = new TreePojo("010101","净菜类","0101"); TreePojo pojo = new TreePojo("010102","叶菜类","0101"); 3、返回一个JSON字符串给前台(把这个List转成一个JSON) |
|
不用JSON可以有其他的办法吗???
|
|
最好用json,为什么不想用json,如果你前台想用ztree,最好组装成json的数据 转json很方便的,比如fastjson、gson这些开源的包都挺好用的,struts本生也支持json |
|
楼主,这两天我正好也在做三级菜单联动的效果,也是SSH框架,我用的是select实现的,通过获取上一级的select 的change事件,用ajax加载这一级的列表。这是我实现的代码,希望能对你有所帮助
<script> $(document).ready(function(){ $("#sel_Province").change(function(){ var a = $("select[id=""sel_Province""]").val(); $("#pro").val($("#sel_Province").find("option:selected").text()); $("#proid").val($("select[id=""sel_Province""]").val()); $("#sel_City").empty(); $.ajax({ url: ""<%=basePath%>areaAjax/getCity.do"", data: "procode="+$("#sel_Province").val(), type: ""get"", dataType:""json"", error: function(data) { alert("加载json 文件出错!"); }, success: function(data) { //data = $.parseJSON(data); for (var one in data) { var name = data[one].name; var code = data[one].code; //alert(name+code); $("#sel_City").append("<option value="+code+">"+name+"</option>"); } }, }); }); $("#sel_City").change(function(){ $("#city").val($("#sel_City").find("option:selected").text()); $("#cityid").val($("select[id=""sel_City""]").val()); if($("#cityid").val()==3607){ $("#areaType").val(""0""); } else if($("#proid").val()==36){ $("#areaType").val(""1""); } else{ $("#areaType").val(""2""); } $("#sel_County").empty(); $.ajax({ url: ""<%=basePath%>areaAjax/getArea.do"", data: "citycode="+$("#sel_City").val(), type: ""get"", dataType:""json"", error: function(data) { alert("加载json 文件出错!"); }, success: function(data) { for (var one in data) { var name = data[one].name; var code = data[one].code; $("#sel_County").append("<option value="+code+">"+name+"</option>"); } }, }); }); $("#sel_County").change(function(){ $("#country").val($("#sel_County").find("option:selected").text()); $("#countryid").val($("select[id=""sel_County""]").val()); }); }); </script> <span style="color: red;">*</span>省 <select id="sel_Province" style="width:80px" name="sel_Province"> <option value="" selected="selected">请选择</option> <c:forEach items="${proList}" var="list" varStatus="status"> <option value="${list.code}">${list.name }</option> </c:forEach> </select> <span style="color: red;">*</span>市 <select id="sel_City" style="width:80px" name="sel_City"> <option value="" selected="selected">请选择</option> </select> <span style="color: red;">*</span>县/区 <select id="sel_County" style="width:80px" name="sel_County"> <option value="" selected="selected">请选择</option> </select> ajax加载的list的方法在xml中的配置 <!--获取城市地区列表 --> <package name="areaAjax" namespace="/areaAjax" extends="json-default"> <action name="getCity" class="你加载选项的Action" method="CityList"> <result name="success" type="json"> <param name="root">listJson</param> </result> </action> <action name="getArea" class="你加载选项的Action" method="AreaList"> <result name="success" type="json"> <param name="root">listJson</param> </result> </action> </package> |