1.menuservicedao
package com.springmvc.manage.service;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.springmvc.manage.dao.MenuDao;
import com.springmvc.manage.model.Menu;
import com.springmvc.manage.servicedao.MenuServiceDao;
import net.sf.json.JSONArray;
@Service("menuservice")
public class MenuServiceDaoImpl implements MenuServiceDao {
@Resource
private MenuDao menudao;
private List<Menu> list, list1, list2 = new ArrayList();
private List<String> list3 = new ArrayList();
@Override
public List<Menu> findParentMenu(List<Menu> menu) {
// TODO Auto-generated method stub
System.out.println(list2.size() + "-----");
if (menu.size() != 0) {
for (int i = 0; i < menu.size(); i++) {
list = this.findSonMenu(menu.get(i));
if (list.size() == 0) {
continue;
}
menu.get(i).setChildren(list);
this.findParentMenu(list);
list2.add(menu.get(i));
}
}
return list2;
}
// 找到子節點
@Override
public List<Menu> findSonMenu(Menu menu) {
// TODO Auto-generated method stub
return menudao.findMenu(menu.getId());
}
/* @Override
public List<Menu> findMenu(Menu menu) {
// TODO Auto-generated method stub
* list=menudao.findMenu(menu.getId()); for(Menu m:list){
* System.out.println("--------------"+m.toString()); }
* list2=this.findParentMenu(list);
list1 = menudao.findMenu(menu.getId()); // 查詢到tid=0
list2 = this.findParentMenu(list1); // 樹形結構
for (Menu m : list1) {
for (Menu m1 : list2) {
if (m.getId() == m1.getId()) {
list.add(m1);
}
}
}
return list;
}*/
@Override
public List findTreeMenu(Menu menu) {
// TODO Auto-generated method stub
list1 = menudao.findMenu(menu.getId()); // 查詢到tid=0
System.out.println(list2.size() + "++++++++++++++++++++++++++++++++++++++++++++++");
if (list2.size() == 0) {
list2 = this.findParentMenu(list1); // 樹形結構
System.out.println(list2.toString());
for (Menu m : list1) {
for (Menu m1 : list2) {
if (m.getId() == m1.getId()) {
list3.add(m1.toString());
}
}
}
}
System.out.println(list3.toString() + "--------");
return list3;
}
}
2.測試類
package com.springmvc.manage.servicedao;
import static org.junit.Assert.*;
import java.util.List;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.springmvc.manage.model.Menu;
import com.springmvc.manage.service.MenuServiceDaoImpl;
import net.sf.json.JSONArray;
public class MenuServiceDaoTest {
private JSONArray json;
private ClassPathXmlApplicationContext ct;
@Test
public void testFindParentMenu() {
//fail("Not yet implemented");
ct=new ClassPathXmlApplicationContext("xml/spring-mybatis.xml");
MenuServiceDao msd=(MenuServiceDao)ct.getBean("menuservice");
//MenuServiceDaoImpl msd=new MenuServiceDaoImpl();
Menu menu=new Menu();
menu.setId(0);
/*List<Menu> list=msd.findMenu(menu);
for(Menu m:list){
System.out.println(m.toString());
}*/
List list=msd.findTreeMenu(menu);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
// System.out.println(list.toString()+"--------");
String string=list.toString();
System.out.println("-----------------");
String s=string.replace("[", "");
String s1=s.replace("]", "");
System.out.println("----------11");
System.out.println(s1);
// json=JSONArray.fromObject(s1);
// System.out.println(json);
}
}
3.項目文件代碼晚點上傳