1.概述
在网页中显示一些文本过长的信息,例如小说、简介等信息。如果将这样的信息全部显示在一个页面中会很不方便,这时就需要将这段超长文本分页显示在网页中的某个区域中。
2.技术要点
本实例是将要显示的信息一次保存在String类型的对象中,并通过该对象的总长度和一次显示的长度计算总共有多少页。然后通过substring()方法获取当前页显示的内容。
String类型对象方法介绍如下。
a. length()方法:返回字符串的长度。
b. replace(char oldChar, char newChar)方法:返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar而生成的。
参数说明:
a. oldChar:字符串中的字符,用来被新字符所替换。
b. newChar:用来替换旧字符的新字符。
c. substring(int beginIndex, int endIndex)方法:返回一个新字符串,它是此字符串的一个子字符串。
d. beginIndex:获取子字符串在原字符串中的起始位置。
e. EndIndex:获取子字符串在原字符串中的结束位置。
3.具体实现
(1)创建数据库操作类UserDao,读取数据库中的数据。
(2)在index.jsp页面中,首先通过JavaBean标签调用sort类,获取字符串的总长度和起始页的页码。代码如下:
(2)在index.jsp页面中,首先通过JavaBean标签调用sort类,获取字符串的总长度和起始页的页码。代码如下:<% ResultSet Rs = GetRs("Select * From Demo_Tab"); //读取数据库中的结果集 String Demo = ""; //定义变量 while (Rs.next()) //循环输出结果 Demo += Rs.getString("Demo"); int Size = 400; //定义每页输出400个字节 int Len = Demo.length(); //获取总字符的长度 int CountPage = Len / Size; //计算共有几页 if (Len % Size > 0) CountPage++; int left; if (request.getParameter("page1") == null) { left = 0; } else { left = Integer.parseInt(request.getParameter("page1").toString()); }%>
然后,输出当前页的信息。left为子字符串的起始位置,Size为获取字符串的长度。代码如下:
<% if (left + Size > Len) {%><%=Demo.substring(left, left + Len - left)%><% } else {%><%=Demo.substring(left, left + Size)%><% } %>
最后,设置翻页超级链接,通过参数传递子字符串的起始位置。代码如下: