|
我的数据库如下: |
|
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> |
|