挂毯 jquery PageScroll
tapestry jquery PageScroll
我正在尝试使用 Tapestry5 jquery 组件 PageScroll 进行无限滚动。
- tapestry5 - 5.3.8
- 挂毯5-jquery - 3.4.2
到目前为止我得到了这个:
public class PageScrollDemo {
private static final int PageSize = 100;
@Property
private int value;
@OnEvent("nextPage")
List<Integer> moreValues(int pageNumber) throws InterruptedException {
List<Integer> values = new ArrayList<Integer>();
int first = pageNumber * PageSize;
for(int i = 0; i < PageSize; ++i){
values.add(first + i);
}
Thread.sleep(1000);
return values;
}
}
PageScrollDemo.tml
<html xmlns:t='http://tapestry.apache.org/schema/tapestry_5_3.xsd'>
<body>
<h1>BEGIN</h1>
<ul>
<li t:type='jquery/pagescroll' row='value' scroller='scroller' zone='zone' pageNumber="1">
<li>${value}</li>
</li>
<li class='zone' t:type='zone' t:id='zone'/>
</ul>
<div id='scroller'></div>
<h1>END</h1>
</body>
</html>
但是我得到这个错误
java.lang.RuntimeException
Coercion of [] to type java.lang.Integer (via String --> Long, Long --> Integer) failed: For input string: "[]"
java.lang.NumberFormatException
For input string: "[]"
Filter stack frames Stack trace
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Long.parseLong(Long.java:589)
java.lang.Long.<init>(Long.java:965)
据我了解,Tapestry 正在尝试将参数“[]”传递给方法 moreValues(int),但失败了。
我的问题是为什么不传递可以转换为 int 的字符串“1”(pageNumber)?
我的第二个问题是为什么在 PageScrollDemo.tml 中偶数 pageNumber 是强制性的?如果我从 moreValues() 中删除参数,我得到这个:
trace
Triggering event 'scroll' on PageScrollDemo:pagescroll
org.apache.tapestry5.runtime.ComponentEventException
Failure writing parameter 'pageNumber' of component PageScrollDemo:pagescroll: Literal values are not updateable.
有人可以向我解释一下如何使用 Pagescroll 吗?
此组件的作者在 https://tawus.wordpress.com/2012/11/25/scrolling-pages-tapestry5-onscrollbeyond/
提供了一些文档
如果您查看源文档,https://github.com/got5/tapestry5-jquery/blob/master/src/main/java/org/got5/tapestry5/jquery/components/PageScroll.java您会发现以下代码
@Parameter(value = "literal:[]")
private Object[] context;
我想您是从示例中获取代码的
https://github.com/got5/tapestry5-jquery/blob/master/src/test/resources/org/got5/tapestry5/jquery/pages/PageScroll.tml
您的错误信息
java.lang.RuntimeExceptionCoercion of [] to type java.lang.Integer
(via String --> Long, Long --> Integer) failed: For input string: "[]"
java.lang.NumberFormatExceptionFor input string: "[]"
来自您从模板中删除的参数上下文的默认值。
我正在尝试使用 Tapestry5 jquery 组件 PageScroll 进行无限滚动。
- tapestry5 - 5.3.8
- 挂毯5-jquery - 3.4.2
到目前为止我得到了这个:
public class PageScrollDemo {
private static final int PageSize = 100;
@Property
private int value;
@OnEvent("nextPage")
List<Integer> moreValues(int pageNumber) throws InterruptedException {
List<Integer> values = new ArrayList<Integer>();
int first = pageNumber * PageSize;
for(int i = 0; i < PageSize; ++i){
values.add(first + i);
}
Thread.sleep(1000);
return values;
}
}
PageScrollDemo.tml
<html xmlns:t='http://tapestry.apache.org/schema/tapestry_5_3.xsd'>
<body>
<h1>BEGIN</h1>
<ul>
<li t:type='jquery/pagescroll' row='value' scroller='scroller' zone='zone' pageNumber="1">
<li>${value}</li>
</li>
<li class='zone' t:type='zone' t:id='zone'/>
</ul>
<div id='scroller'></div>
<h1>END</h1>
</body>
</html>
但是我得到这个错误
java.lang.RuntimeException
Coercion of [] to type java.lang.Integer (via String --> Long, Long --> Integer) failed: For input string: "[]"
java.lang.NumberFormatException
For input string: "[]"
Filter stack frames Stack trace
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Long.parseLong(Long.java:589)
java.lang.Long.<init>(Long.java:965)
据我了解,Tapestry 正在尝试将参数“[]”传递给方法 moreValues(int),但失败了。
我的问题是为什么不传递可以转换为 int 的字符串“1”(pageNumber)?
我的第二个问题是为什么在 PageScrollDemo.tml 中偶数 pageNumber 是强制性的?如果我从 moreValues() 中删除参数,我得到这个:
trace
Triggering event 'scroll' on PageScrollDemo:pagescroll
org.apache.tapestry5.runtime.ComponentEventException
Failure writing parameter 'pageNumber' of component PageScrollDemo:pagescroll: Literal values are not updateable.
有人可以向我解释一下如何使用 Pagescroll 吗?
此组件的作者在 https://tawus.wordpress.com/2012/11/25/scrolling-pages-tapestry5-onscrollbeyond/
提供了一些文档如果您查看源文档,https://github.com/got5/tapestry5-jquery/blob/master/src/main/java/org/got5/tapestry5/jquery/components/PageScroll.java您会发现以下代码
@Parameter(value = "literal:[]")
private Object[] context;
我想您是从示例中获取代码的 https://github.com/got5/tapestry5-jquery/blob/master/src/test/resources/org/got5/tapestry5/jquery/pages/PageScroll.tml
您的错误信息
java.lang.RuntimeExceptionCoercion of [] to type java.lang.Integer
(via String --> Long, Long --> Integer) failed: For input string: "[]"
java.lang.NumberFormatExceptionFor input string: "[]"
来自您从模板中删除的参数上下文的默认值。