s2sh pager-taglib 分页时候报java.lang.NumberFormatException: For input string: "${pm.totals}"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.valueOf(Integer.java:553)
at org.apache.jasper.compiler.JspUtil.coerceToInt(JspUtil.java:752)
at org.apache.jasper.compiler.Generator$GenerateVisitor.convertString(Generator.java:2964)
at org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2762)
at org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2873)
at org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2186)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1685)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
谢谢大家了
分页存取数据对象
public class PagerMode {
private int totals;
private List list;
public int getTotals() {
return totals;
}
public void setTotals(int totals) {
this.totals = totals;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}自己建立的Filter
package com.excelbj.web.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;import com.excelbj.web.util.SystemContext;public class PagerFilter implements Filter {

public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httprequest=(HttpServletRequest)request;
SystemContext.setOffset(getOffset(httprequest));
SystemContext.setPagesize(getPageSize(httprequest));
try {
chain.doFilter(request, response);
} catch (Exception e) {
e.printStackTrace();
}finally{
SystemContext.removeOffset();
SystemContext.removePagesize();
}
} public void init(FilterConfig arg0) throws ServletException { }

private int getOffset(HttpServletRequest request){
int offset=0;
try {
offset =Integer.parseInt(request.getParameter("pager.offset"));
} catch (NumberFormatException e) {
}
return offset;
}

private int getPageSize(HttpServletRequest request){
return 10;
}
}
package com.excelbj.web.util;public class SystemContext {
private static ThreadLocal offset=new ThreadLocal();
private static ThreadLocal pagesize=new ThreadLocal();

public static void setOffset(int _offset){
offset.set(_offset);


public static int getOffset(){
Integer is=(Integer)offset.get();
if(is==null){
return 0;
}
return is;
}

public static void removeOffset(){
offset.remove();
}

public static void setPagesize(int _pagesize){
pagesize.set(_pagesize);
}
public static int getPagesize(){
Integer is=(Integer)pagesize.get();
if(is==null){
return 0;
}
return is;
}

public static void removePagesize(){
pagesize.remove();
}
}public void searchOrg(HttpServletRequest request,HttpServletResponse response) throws Exception{
int pid=0;
try {
pid=Integer.parseInt(request.getParameter("pid"));
} catch (Exception e) {
}
PagerMode pm=orgManager.searchOrg(pid);
request.setAttribute("pm", pm);
}<pg:pager url="org.action" items="${pm.totals}" export="currentPageNumber=pageNumber">
<pg:param name="pid"/>
 <pg:index>  
<pg:first>
<a href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl}">前页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber}">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl}">${pageNumber }</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl}">下页</a>
</pg:next>
<pg:last>
<a href="${pageUrl}">尾页</a>
</pg:last>
</pg:index>
</pg:pager>