Jsp新闻发布系统(六)

新闻类别列表实现
一. 当前位置菜单实现
1.在NewsTypeDao中新建一个NewsType类型的getNewsTypeById方法,参数是connection和newsTypeId
2.定义一个newsType和sql语句(select * from t_newsType where newsTypeId=?)
3.使用prepareStatement执行返回pstmt,参数是sql,pstmt设置第一个值为newsTypeId,返回一个resultSet值。如果rs有值,调用newsType中的setNewsTypeId和setTypeName,返回newsType。
4.封装一个导航工具类NavUtil,新建一个genNewsListNavigation方法,参数是typeName和typeId。定义一个StringBuffer属性的navCode。navCode拼接出导航,然后返回navCode的toString方法
5.在NewsServlet.java中,new一个newsTypeDao。在newsList方法中,newsTypeDao调用getNewsTypeById再获取其getTypeName,返回typeName
6.将NavUtil中的genNewsListNavigation,参数是typeName和typeId。通过request放入navCode中
7.在newsList.jsp中添加navCode

二. 新闻类别列表实现
1.在NewsServlet.java中,new一个dbUtil和newsDao。
2.在newsList方法中,定义一个page,从request中获取值。如果page是空的话,设默认值为1.
3.定义一个空connection,实例化一个s_news,对象为News。如果typeId不为空的话,s_news调用setTypeId方法。
4.获取数据库连接,对pageBean进行封装,参数是page和pageSize(在配置文件中定义pageSize=5)
5.调用newsDao的newsList方法进行查询,返回一个List类型属性为News的newestNewsListWithType。将newestNewsListWithType放入request中。
6.修改newsList.jsp

三. 简单分页实现
1.导入pageBean类
2.在newsDao.java中新建一个List属性为News的newsList类,参数是connection,news,pageBean
3.定义一个List属性为News的newsList,对象为arrayList。再定义一个stringBuffer(select * from t_news t1,t_newsType t2 where t1.typeId = t2.newsTypeId) 如果s_news的typeId值不等于-1,sb拼接一个语句("and t1.typeId="+s_news.getTypeId()),否则拼接(order by t1.publishDate desc)。如果pageBean不等于null,sb拼接一条语句("limit"+pageBean.getStart()+","+pageBean.getPageSize())
4.使用prepareStatement执行,参数是sb.toString(),返回一个resultSet值。如果rs有值,new一个news,将rs中的值塞入 news中,将news赋值进newsList。返回newsList值。
5.新建一个方法newCount,参数是connection和news。定义一个stringBuffer(select count(*) as total from t_news),如果s_news的typeId值不等于-1,sb拼接一个语句("and typeId="+s_news.getTypeId())。
6.使用prepareStatement执行,参数是sb.toString().replaceFirst("and","where"),返回一个resultSet值。如果rs有值,返回rs的total值,如果没有,则返回0
7.封装一个分页工具类PageUtil,新建一个getUpAndDownPagetion方法,参数是totalNum,currentPage,pageSize,typeId。定义totalPage,如果totalNum%pageSize等于0的话,totalPage就是totalNum/pageSize,否则就是totalNum/pageSize+1.定义一个stringBuffer类型的pageCode,拼接分页的代码。
8.在newsServlet中的newsList方法中,定义一个total,从newsDao的newsCount中获取值。将pageUtil中的getUpAndDownPagetion方法值塞入request中的pageCode
9.在newsList.jsp中添加pageCode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值