easyUI前端框架的tree(树)前台展⽰(树形菜单⼆)——java easyUI前端框架的tree(树)前台展⽰(树形菜单⼆)——java
前⾔
本篇easyUI前端框架的tree前台展⽰博客是由 .演变渲染出来的,所以得两篇博客⼀起结合才能完成⼀个完整的tree树节点结构本篇博客的⽬标效果图
本案例中遇到的⼀些问题(提供解决⽅案:字符编码问题)
字符编码问题
本博主⾃⼰写的,提供解决⽅式:链接: .
这是博主在做这个案例时,遇到的⼀些问题,现在可以少掉⼀点头发了,哈哈哈
浏览器缓存问题
如果修改了index1.js⽂件中的内容,⼀定要清除浏览器的历史记录,不然有些功能可能显⽰不出来
清空浏览器历史记录快捷键:shift+Ctrl+delete
导架包(jar)及配置⽂件
jar包
在进⾏数据查询时,我们需要⽤到⾃定义mvc框架,把mvc框架打包成⼀个jar包,拿来使⽤,还需要框架的⼯具类
打包好的jar
博主的博课中有框架的源码,⾃⼰去打包就好了,现提供:链接: .
.
mvc的配置⽂件(本案例中需使⽤)
<?xml version="1.0" encoding="UTF-8"?>
<config>
<action path="/menu" type="com.xiaoqing.web.MenuAction">
<!-- <forward name="menu" path="/index.jsp" redirect="false" /> -->
</action>
</config>
案例及代码实现
MenuDao.java的修改:
public class MenuDao extends BaseDao<Menu>{
public List<Menu> list(Menu menu,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
String sql="select * from t_easyui_menu";
uteQuery(sql, Menu.class, pageBean);
}
public List<TreeVo<Menu>> topNode(Menu menu,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{ List<Menu> list = this.list(menu, pageBean);
List<TreeVo<Menu>> nodes=new ArrayList<TreeVo<Menu>>();
TreeVo treeVo=null;
for(Menu p : list){
treeVo=new TreeVo<>();
treeVo.Menuid());
treeVo.Menuname());好用的前端框架
treeVo.Parentid()+"");
Map<String, Object> attributes=new HashMap<String, Object>();
attributes.put("self", p);
treeVo.setAttributes(attributes);
nodes.add(treeVo);
}
// 0 :可以指定哪个节点为⽗节点,选择⾃⼰想要的菜单
return BuildTree.buildList(nodes,"-1");
}
}
ResponseUtil:将对象转为json格式的⼯具类
public class ResponseUtil {
// 返回结果集到前端页⾯
public static void write(HttpServletResponse response,Object o)throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter Writer();
out.String());
out.flush();
out.close();
}
// o:对象
public static void writeJson(HttpServletResponse response,Object o)throws Exception{ response.setContentType("text/html;charset=utf-8");
ObjectMapper om=new ObjectMapper();
// 对象转换成json
String jsonStr = om.writeValueAsString(o);
// 输出到jsp页⾯端去
PrintWriter Writer();
out.String());
out.flush();
out.close();
}
}
MenuAction.java:处理json格式可以拿到json字符串再返回到前端页⾯public class MenuAction extends ActionSupport implements ModelDriver<Menu>{
private MenuDao pd=new MenuDao();
private Menu menu=new Menu();
@Override
public Menu getModel(){
return menu;
}
public String menuTree(HttpServletRequest req,HttpServletResponse resp){
try {
// TreeVo<Menu> topNode = pNode(null, null);
// 放到⼀个容器⾥⾯ json格式数据
// List<TreeVo<Menu>> list=new ArrayList<TreeVo<Menu>>();
// list.add(topNode);
ResponseUtil.writeJson(resp, pNode(null, null));
} catch (InstantiationException e){
e.printStackTrace();
} catch (IllegalAccessException e){
e.printStackTrace();
} catch (SQLException e){
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
// 结果码的配置就是为了,在l中寻到底是重定向还是转发
return null;
}
}
前端index.jsp中的引⼊的js⽂件(index.js):
作⽤:渲染数据
$(function(){
$('#tt').tree({
url:$("#ctx").val()+'/menu.action?methodName=menuTree' });
})
总结(解决问题的思路)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论