2017-05-26 101 views
0

我请求URL http://localhost:8080/myApp/reg/show?pageNumber=1&pageRange=-1show.jsp我有JSTL解析负数java.lang.NumberFormatException:对于输入字符串: “”

<ts:pagination allData="${tecBacking.tec}" 
      pageRange="${param.pageRange}" 
      pageNumber="${param.pageNumber}" 
      url="show"> 
    <jsp:attribute name="tableHeaders"> 
      <th>Идентификатор</th> 
      <th>Код</th> 
      <th>Описание</th> 
      <th>Тип</th> 
      <th>Създадено от</th> 
    </jsp:attribute> 
</ts:pagination> 

而且我分页标签

<%@tag description="This is for common pagination" pageEncoding="UTF-8"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 
<%-- The list of normal or fragment attributes can be specified here: --%> 

<%@attribute name="tableHeaders" fragment="true" required="true"%> 
<%@attribute name="allData" required="false" type="java.util.Collection"%> 
<%@attribute name="pageNumber" required="false" type="java.lang.Long"%> 
<%@attribute name="pageRange" required="false" type="java.lang.Long"%> 
<%@attribute name="url" required="false"%> 

<c:set target="${paginationModel}" property="objects" value="${(empty allData) ? paginationModel.objects : allData}" /> 
<c:set target="${paginationModel}" property="pageNumber" value="${(empty pageNumber) ? 1 : pageNumber}" /> 
<c:set target="${paginationModel}" property="pageRange" value="${(empty pageRange) ? 10 : pageRange}" /> 
<c:set target="${paginationModel}" property="url" value="${(empty url) ? paginationModel.url : url}"/> 

分页模型

@Named 
@SessionScoped 
public class PaginationModel implements Serializable { 

    private List<List<String>> objects; 
    private Long pageNumber; 
    private Long pageRange; 
    private String url; 

    public PaginationModel() { 
     objects = new ArrayList<>(); 
     pageNumber = 1L; 
     pageRange = 10L; 
     url = ""; 
    } 
    //getters and setters 
} 

但在回答我收到这个异常

javax.servlet.ServletException:javax.servlet.jsp.JspException:java.lang.NumberFormatException:对于输入字符串: “”

问题是从pageRange requestParam解析-1。我尽量让改变分页标签,如:

<c:set target="${paginationModel}" property="pageRange" value="${10}" /> 

,一切正常,但是当我尝试

<c:set target="${paginationModel}" property="pageRange" value="${pageRange}" /> 

我收到同样的异常。我尝试调用$ {} pageRange在分页标签(和解析$ {10}paginationModel.pageRange)和输出是

-1 我能不明白的地方是我的错误(paginationModel.pageRange有类型java.lang.Long和属性pageRange已设置type =“java.lang.Long”)以及如何修复异常。

回答

0

java.lang.NumberFormatException:对于输入字符串: “”

的问题是在解析-1从pageRange requestParam。

这是不正确的。

java.lang.NumberFormatException: For input string: ""通过解析 “引发”(空字符串),例如,新长征( “”)。你可以检查,如果你的程序改变value="${pageRange}"value="${param.pageRange}"后的作品?

相关问题