model类方法:
public int getTotalpage(){
int total=0;

try {
SqlConnection sql=new SqlConnection();
Connection con=sql.getConnection();
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=st.executeQuery("select count(*) from document");
if(rs.next()){
int rows=rs.getInt(1);
if((rows%5)==0){
total=rows/5;
}else{
total=rows/5+1;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return total;
}
// 查询方法
public List select(int page,int row) {
List lst = new ArrayList();
try {
SqlConnection sql = new SqlConnection();
Connection con = sql.getConnection();
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.executeQuery("select * from document");
int start=(page-1)*row+1;
do {
if(row==0){
break;
}
int id = rs.getInt(1);
String addressee = rs.getString(2);
String theme = rs.getString(3);
String content = rs.getString(4); DocumentForm df = new DocumentForm();
df.setId(id);
df.setAddressee(addressee);
df.setTheme(theme);
df.setContent(content);
lst.add(df);
}while(rs.next());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lst;
}Action类方法
public ActionForward select(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
int p=Integer.parseInt(request.getParameter("page"));
List lst=model.select(p,5);
request.setAttribute("list", lst);
request.setAttribute("next", (p+1)+"");
request.setAttribute("up", (p-1)+"");
request.setAttribute("cur", p+"");
int total=model.getTotalpage();
request.setAttribute("total",total+"");
//total-cur
request.setAttribute("menus", (total-p));
request.setAttribute("list", lst);
ActionForward forward=new ActionForward("/jsp/lookdocument.jsp");
return forward;
}JSP文件
<logic:greaterThan name="cur" value="1">
   <html:link page="/document.do?method=select" paramId="page" paramName="up">上一页</html:link>
</logic:greaterThan>
<logic:greaterThan name="menus" value="0">
   <html:link page="/document.do?method=select" paramId="page" paramName="next">下一页</html:link>
</logic:greaterThan>
抛出异常:
javax.servlet.ServletException: null
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
com.common.MyRequestProcessor.process(MyRequestProcessor.java:15)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.parseInt(Integer.java:497)
com.action.DocumentAction.select(DocumentAction.java:48)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
com.common.MyRequestProcessor.process(MyRequestProcessor.java:15)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
[/size]

解决方案 »

  1.   

    request.getParameter("page")取出来的是null
      

  2.   


    String page=null;
    try{
      page=request.getParameter("page");
    }catch(Exception e){
      page="如果为空你需要返回的值";
    }
      

  3.   

    java.lang.NumberFormatException: null 
    int p=Integer.parseInt(request.getParameter("page")); 能取到值吗?就在这个地方 
      

  4.   

    request.getParameter("page")都取不到值,
    如果再去转换的话,更会出异常
      

  5.   

    request.getParameter("page")取不到值
    看一下调用这个action是传没传page这个参数