2017-05-26 20 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:入力文字列の場合: ""

問題は、解析中です。-1pageRange requestParamです。

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

、すべてがOKですが、私は

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

をしようとしたとき、私は同じ例外を受け取る:私は改ページタグなどに変更を加えよう。私はここで私は理解できないページネーションタグ$ {pageRange}を呼び出そう(及びpaginationModel.pageRange$ {10}を構文解析)し、出力が

-1 あります私のミス(paginationModel.pageRangeがjava.lang.Longを入力してpageRangeがタイプ=「がjava.lang.Long」設定した属性を持つ)とどのように例外を修正するに。

答えて

0

java.lang.NumberFormatException:入力文字列の場合: ""

問題は解析-1 pageRange requestParamからです。

これは間違っています。

java.lang.NumberFormatException: For input string: "" "(空の文字列)"、たとえばnew Long( "")の解析によって発生します。 value="${pageRange}"value="${param.pageRange}"に変更した後にプログラムが動作するかどうかを確認できますか?

関連する問題