web项目--BBS之从数据库查询动态生成版块信息问题分析和小结
来源:互联网 发布:淘宝坑位产值计算公式 编辑:程序博客网 时间:2024/05/22 02:03
前期学习了 html5.0 css3 javascript, jsp 页面也已经入门,老师通过BBS 的web项目来给我们讲述这些知识点在实际项目中的应用。
具体的注册、登陆都只是简单的业务层逻辑问题,不予说明。项目开始的第二天,老师布置了作业: 想清楚动态生成版块信息的流程,给的提示如下:
这是 board表的字段:boardid、name、和一个父版块id
用 map 来存入,map 的键就是父版块编号,值就是 List<Board>,这个 parentid 下面的所有Board 对象
0 => {.net技术,java技术,数据库技术,娱乐}
1 => {C#, winforms,adonet, asp.net}
2 =>
我的想法就是:
1、取出所有的 board 对象 ==> List<Board>
2、从全部的 Board对象中取出所有的 boardId ,这里要实现:boardid 编号一致的重复避免
Map<Integer,Board> //这个map用来保存 board 对象 和与之对应的 boardid
set<integer> :用来保存所有的 boardid, 无序,不可重合
3、根据 boardId 的值,分类
新建一个Map<Integer,Board>,用来保存父编号和对应的 board对象
List<parentId,Map<boardid,Board>>
这里就会出现 从set里面拿到正确的 board对象的问题。反正最后没能够解决,下面是老师给的正确写法
public Map<Integer,List<Board>> boardList() throws Exception{//1、取出所有的 Board 对象,查出所有的版块信息String sql="select boardid,boardname,parentid from tbl_board ";List<Board> list=db.findMutiObject(Board.class , sql, null);//2、创建一个Map 用来保存 <parentid,List<Board>> Map<Integer,List<Board>> mapBoard=new HashMap<Integer,List<Board>>();//3、循环所有的 List,存入mapList<Board> sonlist=new ArrayList<Board>();int parentid=0;//最初的父版块编号for(Board b: list){if(b.getParentid()!=parentid){//如果当前的b.getParentid()和现在要保存的parentid不一致,说明是一个新的父版块,要另外存key,sonlistmapBoard.put(parentid,sonlist);//在新的父版块,要另外存key,sonlist之前,把之前所有相同parentid的sonlist先存入map,以免被新的版块list覆盖if(mapBoard.containsKey(b.getParentid())){//判断新的parentid是否之前已经存过sonlist=mapBoard.get(b.getParentid());//存过,通过parentid 取出 sonlist}else{sonlist=new ArrayList<Board>();//否则,新new一个}parentid=b.getParentid();//将parentid更新}sonlist.add(b);//将board对象添加进 sonlist}mapBoard.put(parentid, sonlist);//再次循环 map 给子版块添加信息addAdditionalBoardInfo(mapBoard);return mapBoard;}
jsp表达式用的非常多,<% %> 可以用在任意地方,加上 html标签的< >, 不知道有没有跟我一样会看错一些地方?
今天这个错误困扰了我半个小时,一直在想为什么没有 传参过去?不知道大家注意到了双引号的位置了没有?
下面这个才是正确写法喔~~~
大家以后在编码的时候多多细心,很多的失败都是细节的缘故。
- web项目--BBS之从数据库查询动态生成版块信息问题分析和小结
- web项目之BBS发布至新浪云配置修改以及sql语句修改问题小结
- 如何用javaScript结合从数据库中查询到的角色权限信息动态生成树菜单
- .net从数据库读取信息动态生成xml
- 动态生成页面(从数据库中动态取出数据信息生成页面)
- java web 项目 - bbs
- 从Web查询数据库之PHP与MySQL篇
- 从Web查询数据库之PHP与MySQL篇
- BBS项目笔记之八:hibernate底层查询的实现
- BBS项目笔记之九:js实现动态的导航
- web项目之BBS流程解析(无servlet、filter)
- bbs论坛问题小结1
- gcc编译工具生成动态库和静态库之三----问题及重要知识点分析
- 学生信息查询系统_1_创建maven的动态web项目并配置tomcat插件
- golang web bbs 项目启动
- 有关BBS无限级版块,好友系统的数据库设计交流贴
- 项目小结之数据库设计
- 项目小结之数据库设计
- Java中的IO流
- C语言 编写递归函数实现厄密多项式计算。
- MapReduce工作原理图文详解
- Android系统的进程分类
- SSH框架实现MYSQL数据库备份与还原
- web项目--BBS之从数据库查询动态生成版块信息问题分析和小结
- 使用Jquery解析Json基础知识
- Hibernate基础
- 【BestCoder】36 B Gunner(哈希)
- android开发 - Application类
- C++ Primer Plus第六版编程练习9.4解答
- 求最大子数组和
- Linux协议栈-netfilter(5)-iptables
- 设计模式之--Facade模式