------自定义标签类package com.item.tag;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTag;
import javax.servlet.jsp.tagext.Tag;import com.item.bean.ConnectionDatabase;public class page implements BodyTag
{
HttpServletRequest request ;
PageContext context ;
BodyContent body ;public void getPage()
{
Connection con = null;
Statement st = null;
ResultSet rs = null;
ResultSetMetaData rms = null;
JspWriter out = context.getOut();
int j = 0;int pagesize = 6;//每页显示的行数
int pagesum = 0;//总页数
int dangqianpage = 0;
int sumrow = 0;//总行数
con = ConnectionDatabase.conn();String dq = request.getParameter("page");if(dq == null)
dangqianpage = 1;
else
dangqianpage = Integer.parseInt(dq);
if(dangqianpage < 1)
dangqianpage = 1;String sql = "select * from [firstItem].[dbo].[userManager]";
try
{
st = con.createStatement();
rs = st.executeQuery(sql);
int cols = rms.getColumnCount();sumrow = rs.getRow();//huo qu zong hang shu pagesum = (sumrow + pagesize - 1 )/ pagesize ;//huo qu zong ye shu //如过当前显示的页大于总页数就把当前页设为总页数
if (dangqianpage > pagesum)
dangqianpage = pagesum;out.print("<table border = 2 <tr>");
for (int i = 1; i <= cols; i++)
{
out.print("<th>" + rms.getCatalogName(i) + "</th>");}
out.print("</tr>");if (dangqianpage < 0)//将记录指针定位到待显示页的第一条记录上
rs.absolute((dangqianpage - 1 * dangqianpage + 1));while(j < dangqianpage && !rs.isAfterLast())
{
out.print("<tr>");
for (int i = 1; i < cols + 1; i++)
{
out.print("<td>" + rs.getString(i) + "</td>");
}
out.print("</tr>");
}
out.print("</table>");rs.next();
j++;out.print("第" + dangqianpage + "共" + pagesum + "<br/>");
out.print("<a href = page1.jsp ? page = 1>第一页</a>");
if (dangqianpage > 1)
out.print("<a href = page1.jsp ? page = " +( dangqianpage - 1)
+ " >"+"上一页");
if (dangqianpage < pagesum)
out.print("<a href = page1.jsp ? page = " +( dangqianpage + 1)
+ " >"+"下一页");out.print("<a href = page1.jsp ? page = pagesum >最后一页</a>");
rs.close();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public int doStartTag() throws JspException
{
getPage();return this.SKIP_BODY;
}
public int doEndTag() throws JspException
{return this.EVAL_PAGE;
}public void setPageContext(PageContext arg0)
{
this.context = arg0;
}public void setBodyContent(BodyContent arg0)
{
this.body = arg0;}public void doInitBody() throws JspException
{
// TODO Auto-generated method stub}
public int doAfterBody() throws JspException
{
// TODO Auto-generated method stub
return 0;
}
public Tag getParent()
{
// TODO Auto-generated method stub
return null;
}public void release()
{
// TODO Auto-generated method stub}public void setParent(Tag arg0)
{
// TODO Auto-generated method stub}}
---JSP文件<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "www.kengni.com1" prefix = "page" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'page1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<form name = "from2" action = "#" >
<page:page></page:page>
</form>
</body>
</html>---配置文件<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ">
<tlib-version>1.1</tlib-version>
<short-name>NMTOKEN</short-name>
<uri>www.kengni.com1</uri>
<tag>
<name>page</name>
<tag-class>com.item.tag.page</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>---运行是出现好多异常
有于发布长度有限只给出几个异常
--严重: Javac exception
Compile failed; see the compiler error output for details.
...
...
--严重: Env: Compile: javaFileName=/C:/tomcat5.0/work/Catalina/localhost/MyFirstItem//org/apache/jsp\fenye_jsp.java
--com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '?'.
...
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTag;
import javax.servlet.jsp.tagext.Tag;import com.item.bean.ConnectionDatabase;public class page implements BodyTag
{
HttpServletRequest request ;
PageContext context ;
BodyContent body ;public void getPage()
{
Connection con = null;
Statement st = null;
ResultSet rs = null;
ResultSetMetaData rms = null;
JspWriter out = context.getOut();
int j = 0;int pagesize = 6;//每页显示的行数
int pagesum = 0;//总页数
int dangqianpage = 0;
int sumrow = 0;//总行数
con = ConnectionDatabase.conn();String dq = request.getParameter("page");if(dq == null)
dangqianpage = 1;
else
dangqianpage = Integer.parseInt(dq);
if(dangqianpage < 1)
dangqianpage = 1;String sql = "select * from [firstItem].[dbo].[userManager]";
try
{
st = con.createStatement();
rs = st.executeQuery(sql);
int cols = rms.getColumnCount();sumrow = rs.getRow();//huo qu zong hang shu pagesum = (sumrow + pagesize - 1 )/ pagesize ;//huo qu zong ye shu //如过当前显示的页大于总页数就把当前页设为总页数
if (dangqianpage > pagesum)
dangqianpage = pagesum;out.print("<table border = 2 <tr>");
for (int i = 1; i <= cols; i++)
{
out.print("<th>" + rms.getCatalogName(i) + "</th>");}
out.print("</tr>");if (dangqianpage < 0)//将记录指针定位到待显示页的第一条记录上
rs.absolute((dangqianpage - 1 * dangqianpage + 1));while(j < dangqianpage && !rs.isAfterLast())
{
out.print("<tr>");
for (int i = 1; i < cols + 1; i++)
{
out.print("<td>" + rs.getString(i) + "</td>");
}
out.print("</tr>");
}
out.print("</table>");rs.next();
j++;out.print("第" + dangqianpage + "共" + pagesum + "<br/>");
out.print("<a href = page1.jsp ? page = 1>第一页</a>");
if (dangqianpage > 1)
out.print("<a href = page1.jsp ? page = " +( dangqianpage - 1)
+ " >"+"上一页");
if (dangqianpage < pagesum)
out.print("<a href = page1.jsp ? page = " +( dangqianpage + 1)
+ " >"+"下一页");out.print("<a href = page1.jsp ? page = pagesum >最后一页</a>");
rs.close();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public int doStartTag() throws JspException
{
getPage();return this.SKIP_BODY;
}
public int doEndTag() throws JspException
{return this.EVAL_PAGE;
}public void setPageContext(PageContext arg0)
{
this.context = arg0;
}public void setBodyContent(BodyContent arg0)
{
this.body = arg0;}public void doInitBody() throws JspException
{
// TODO Auto-generated method stub}
public int doAfterBody() throws JspException
{
// TODO Auto-generated method stub
return 0;
}
public Tag getParent()
{
// TODO Auto-generated method stub
return null;
}public void release()
{
// TODO Auto-generated method stub}public void setParent(Tag arg0)
{
// TODO Auto-generated method stub}}
---JSP文件<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "www.kengni.com1" prefix = "page" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'page1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<form name = "from2" action = "#" >
<page:page></page:page>
</form>
</body>
</html>---配置文件<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ">
<tlib-version>1.1</tlib-version>
<short-name>NMTOKEN</short-name>
<uri>www.kengni.com1</uri>
<tag>
<name>page</name>
<tag-class>com.item.tag.page</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>---运行是出现好多异常
有于发布长度有限只给出几个异常
--严重: Javac exception
Compile failed; see the compiler error output for details.
...
...
--严重: Env: Compile: javaFileName=/C:/tomcat5.0/work/Catalina/localhost/MyFirstItem//org/apache/jsp\fenye_jsp.java
--com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '?'.
...
解决方案 »
- java江西群
- 高手帮忙看一下 还有可能是什么错误
- 200分求助!java怎么调用proc?proc怎么编译并运行?
- 帮看一个java命令
- 为什么在函数中不能调用.class
- 几个页面使用sendRedirect方法转换,几个页面过去,在最后一个停住了。
- Tomcat4.0中要调用Properties,应该放在哪里啊?
- 我已经使用smartupload实现了文件上传,现在想把浏览文件夹所指定的目录存入数据库,但现在存的是空值,请大侠指教
- ********请问为什么这个SESSION有错??
- ididea的maven创建分布式项目问题
- (菜鸟问题 散分)关于使用FormFile文件上传的问题
- java分页问题
http://sourceforge.net/projects/velocityweb
这里是介绍:
http://velocityweb.sourceforge.net/zh-cn/pagination.htm