⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap8-3.jsp

📁 该源码为JSP的开发案例集锦
💻 JSP
字号:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="javax.xml.parsers.*"%>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="java.io.*" %>

<%!
	int PageSize = 4,Page = 3;
	int totalPage = 1,totalRecord = 1;
	NodeList links = null;
	String str = "";

	public String ShowOnePage(NodeList nl, int Page, int PageSize) {
      for(int iPage=(Page-1)*PageSize; iPage<=Page*PageSize; iPage++) {
		 try {
			 if(iPage < totalRecord) {
        	     Element el = (Element)links.item(iPage);
	        	 str += showOneNode( el );
				 str += "<hr>";
			 }
		 }catch(Exception e) {            // 如果产生异常,表示无此节点,退出for循环
		     break;
		 }
	  }
	  return str;
	}
	
	// 显示单个节点子模块
	public String showOneNode( Element el ) {
		String tt = "";
		try {
			tt += "<table bgColor=ccffff width=80% border=1 align=center>";	
			tt += "<TR>";
			tt += "<TD width=30% >留言编号</TD>";
			tt += "<TD>" + el.getElementsByTagName("id").item(0).getFirstChild().getNodeValue() + "</TD>";
			tt += "</TR>";
			tt += "<TR>";
			tt += "<TD>留言者姓名</TD>";
			tt += "<TD>" + el.getElementsByTagName("username").item(0).getFirstChild().getNodeValue() + "</TD>";
			tt += "</TR>";
			tt += "<TR>";
			tt += "<TD>留言时间</TD>";
			tt += "<TD>" + el.getElementsByTagName("time").item(0).getFirstChild().getNodeValue() + "</TD>";
			tt += "</TR>";
			tt += "<TR>";
			tt += "<TD>主页</TD>";
			String tmp = el.getElementsByTagName("homepage").item(0).getFirstChild().getNodeValue();
			tt += "<TD><A href=" + tmp + ">" + tmp + "</A></TD>";
			tt += "</TR>";
			tt += "<TR>";
			tt += "<TD>Email</TD>";
			tmp = el.getElementsByTagName("email").item(0).getFirstChild().getNodeValue();
			tt += "<TD><A href=mailto:" + tmp + ">" + tmp + "</A></TD>";
			tt += "</TR>";
			tt += "<TR>";
			tt += "<TD>留言内容</TD>";
			tt += "<TD>" + el.getElementsByTagName("context").item(0).getFirstChild().getNodeValue() + "</TD>";
			tt += "</TR>";
			tt += "</table>";
		}catch(Exception e) {
   			 System.out.println("解析XML文件时发生错误!");
    			System.out.println( e.toString() );
		}
		return tt;
	}
%>
<html>
<head>
	<title>基于XML的留言簿</title>
	<style type="text/css">
	<!--
	td { font-family: "宋体"; font-size: 9pt; text-decoration: none}
	a { font-family: "宋体"; font-size: 9pt; color: #FF0000; text-decoration: none}
	a:hover { color: #FFFF00; text-decoration: underline}
	-->
	</style>
</head>
<body bgcolor="#FFCCCC">
<h2 ALIGN="CENTER"><font color="#660000" face="隶书">基于XML的留言簿</font></h2>
<center>
  <hr>
<%
   String filename = getServletConfig().getServletContext().getRealPath ( "list.xml" );
   try {
   	  // 为解析XML文件创建DOM对象
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder=factory.newDocumentBuilder();
      Document doc=builder.parse(new File( filename ));
      // 初始化
      doc.normalize();
      // 得到节点集合
      links =doc.getElementsByTagName("list");
	  totalRecord = links.getLength();
   }catch(Exception e) {
       out.println("访问XML文件出错!");
	   return;
   }
	if(totalRecord % PageSize ==0) totalPage = totalRecord / PageSize;  // 如果是当前页码的整数倍
	else  totalPage = (int) Math.floor( totalRecord / PageSize ) + 1;   // 如果最后还空余一页
	if(totalPage == 0) totalPage = 1;
	try {
		if(request.getParameter("Page")==null || request.getParameter("Page").equals("")) 
		   Page = 1;
		else
		   Page = Integer.parseInt(request.getParameter("Page"));
	} catch(java.lang.NumberFormatException e) {  // 捕获用户从浏览器地址拦直接输入类似于Page=sdfsdfsdf这样的错误页码所造成的异常
		   Page = 1;
	}
	if(Page < 1)  Page = 1;
	if(Page > totalPage) Page = totalPage;
	out.println(ShowOnePage(links, Page, PageSize));
%>
<form Action="" Method="GET">
<% 
   if(Page != 1) {
      out.println("<A HREF=chap8-3.jsp?Page=1>第一页</A>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -