java如何做新闻翻页

ibatsiSpring 2009-11-28 08:16:05
大家好,现在遇到一个棘手的问题,一篇文章的内容文字太多,如何在内容页面把内容做一个分页呢?

我现在的网站有1000条记录,每条记录是一篇文章,文章记录我做了分页!

可是内容页面中,有些内容很长,很多!如果把内容页面也做一个分页呢?

谢谢朋友们,给个例子或思路!

最好给段代码,我研究研究!谢谢大家!
...全文
440 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
ibatsiSpring 2009-12-12
  • 打赏
  • 举报
回复
看来没人了,那结贴了!
ibatsiSpring 2009-12-09
  • 打赏
  • 举报
回复
29楼问题找答案!
ibatsiSpring 2009-12-07
  • 打赏
  • 举报
回复
谢谢大家的关注。
我比较认同采用人工分隔符来做新闻的分割!
那么在添加新闻之后读取的时候
第一页显示第一个分隔符之前的文字或图片!
之后向前台把分割后的段落传递,就成了总的分页数目!
那么问题来了:
第一个问题:在浏览新闻的时候是一次性读取呢,还是查看第二页的时候在读取,如果是后者在第二次读取的时候如果取得第二段的内容呢?还是在读取之前在后台保存成集合,第二次或以前读取的时候根据下标读取?

谢谢指点!
ralfbawg 2009-12-03
  • 打赏
  • 举报
回复
我才做完这个,其实很简单,自己设一个分页符,用什么如####,$$$$,[page_break]等东西分隔,再用split分割,分割的时候注意下,split用的是正则表达式
tjb1216 2009-12-02
  • 打赏
  • 举报
回复
应该不难实现,帮顶了
fenglinzi 2009-12-02
  • 打赏
  • 举报
回复
真的不行就限定新闻的长度,我看百度空间就是那个样子。
毕竟你给内容分页的时候,以特定的字数时,就很有可能不太美观,若要真的分页,我想先限定字数,然后找到这个字数附近最近的<br>,然后这个分页。仅仅是个人想法,等待高人指点。
jcfox 2009-12-02
  • 打赏
  • 举报
回复
文章格式要做分析,HTML标签制定规则,定个传输协议不就好了
fanyuna 2009-12-02
  • 打赏
  • 举报
回复
我也想知道这个问题怎么解决?一篇文章中不仅有文字,有的时候还涉及图片呢,还有表格什么的,更多的有的可能还有视频,要对一篇较长的文章进行分页的话,如果按
Java codeint page= ;//获取当前你在第几页,这个属性你的分页标签里一定会有的//如果你想每页显示1000个字String neirong="你的文章内容";
neirong= neirong.substring((page-1)*1000,page*1000);//每次截取内容的1000个字传递到前台//第一页的时候就是neirong= neirong(0,1000);
这种想法的话,如果刚好到一页完的时候<img>标签从中间被截断的话,图片就显示 不了了啊??望高手指点!!!
xuexijava 2009-12-02
  • 打赏
  • 举报
回复
mark
catPan 2009-12-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhoupuyue 的回复:]
可以做个假分页,用几个div保存整篇文章的内容,用js控制显示。
[/Quote]

……
java_running 2009-12-02
  • 打赏
  • 举报
回复
如果把字符长度看成是数据库一张表的总记录, 每个字符看成是这张表的一条记录,楼主这个分页不, 思想都一样哈...
至于有连接,楼主可以选择正则判断,多做几个if判断应该就Ok了
ibatsiSpring 2009-12-02
  • 打赏
  • 举报
回复
在找找答案,先谢谢!
一叶扁舟 2009-12-02
  • 打赏
  • 举报
回复
代码不是我写的,不好发出来,思路告诉你了,你自己考虑一下吧
一叶扁舟 2009-12-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sunnysong200 的回复:]
最近我也在研究,目前没有什么好的思路。。
我觉得分页前先把html代码过滤掉,然后再根据过滤后的字符长度进行分页,显示的时候需要把html代码给增加上。。。没有这样做过,不知道到底行不行。
请高人指点。。。
[/Quote]
公司有过类似的功能,是先将html代码过滤掉,然后再截取字符串,代码我再找找。。。
gao512008 2009-12-02
  • 打赏
  • 举报
回复
UP
stone1116 2009-11-29
  • 打赏
  • 举报
回复
1000条记录不多使用页面分页就可以了,网上找一下列子很多的
sunnysong200 2009-11-29
  • 打赏
  • 举报
回复
最近我也在研究,目前没有什么好的思路。。
我觉得分页前先把html代码过滤掉,然后再根据过滤后的字符长度进行分页,显示的时候需要把html代码给增加上。。。没有这样做过,不知道到底行不行。
请高人指点。。。
  • 打赏
  • 举报
回复
晕,楼主你不说文章嘛,怎么还有超链接啊?,有超链接的话你只能继续解析了,就拿你超链接说吧

public static void main(String[] args)
{
String neirong = "你截取的N组长度为1000的字符串";
int weizhi = neirong.lastIndexOf("<a href=\"");//最后一个超链接开始标签的位置;
if(weizhi>0)//如果字符串里存在超链接
{
// 从最后一个超链接的位置开始找结束标签
String neirong2 = neirong.substring(weizhi,neirong.length());
if(neirong2.contains("</a>"))
{
System.out.println("标签结束了");
}
else
{
//标签没结束,去下一组1000字符串里找第一个结束标签
String neirong3 = getNextString(int fybq+1);//根据分页标签+1查询下组内容
int weizhi2 = neirong3.indexOf("</a>");//第2组内容的第一个结束标签
String a = neirong3.substring(0,weizhi2);//这样你就可以结束了
neirong += a;//这下内容就全了吧,HTML代码基本都可以写结束标签,这个思路应该可以满足你把
}
}

}
lgm277531070 2009-11-29
  • 打赏
  • 举报
回复
汗 好像</br>不行 文章中不会出现这个的 “<P>” 这个呢 或许可以通过截取<p>标签来
suran150 2009-11-29
  • 打赏
  • 举报
回复
使用mvc在dao类中写此方法
public List findlistfoods(int page)
{
List list=new ArrayList();
int rowBin=0;
if(page>1)
{
rowBin=(page-1)*4;
}
String sql="select top 4 * from foodInfo where foodid not in(select top "+rowBin+" foodid from foodInfo)";
try
{
super.getConnection();
pstm = con.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next())
{
FoodBean food=new FoodBean();
food.setFoodID(rs.getString("foodID"));
food.setFoodName(rs.getString("foodName"));
food.setRemark(rs.getString("remark"));
food.setFoodPrice(rs.getInt("foodprice"));
food.setFoodImage(rs.getString("foodimage"));
list.add(food);
}
}catch(Exception e)
{
e.printStackTrace();
}finally
{
super.closeResultSet();
super.closeStatement();
super.closeConnection();
}
return list;
}
在servlet类中调用此方法并写上下面的代码
int p=1;
String strP = request.getParameter("p");
if(strP!=null){
p=Integer.parseInt(strP);
}
List listfoods=foodDao.findlistfoods(p);
request.setAttribute("foods",listfoods);
int prep=p;
int nextp=p;
if(listfoods.size()==4){
nextp=p+1;
}
if(p>1){
prep=p-1;
}
在页面调用servlet并写下面的代码
<div align="right"><%if(p>1){ %><a href="/restaurant/foods?p=<%=prep %>">上一页</a><%} %>
 | <%if(nextp>p){ %><a href="/restaurant/foods?p=<%=nextp %>">下一页</a><%} %></div>
这样就解决了
加载更多回复(11)

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧