Java Flex/LCD服务器到数据源分页
我正在尝试设置一个服务器来连接数据源分页服务。我已经把一切都设置好了,这样我就可以调用我的汇编程序并返回值,但我不会得到“分页”调用 具体而言:Java Flex/LCD服务器到数据源分页,java,apache-flex,dataservice,lcds,Java,Apache Flex,Dataservice,Lcds,我正在尝试设置一个服务器来连接数据源分页服务。我已经把一切都设置好了,这样我就可以调用我的汇编程序并返回值,但我不会得到“分页”调用 具体而言: public Collection fill(List fillArgs, int begin, int rows) 总是使用begin==-1和rows==-1调用,而不是获取实际值进行分页。此外: public boolean useFillPage(List fillParameters) 从未调用(我的实现总是为所有参数返回true)。因为
public Collection fill(List fillArgs, int begin, int rows)
总是使用begin==-1
和rows==-1
调用,而不是获取实际值进行分页。此外:
public boolean useFillPage(List fillParameters)
从未调用(我的实现总是为所有参数返回true)。因为JavaAdapter没有从Flex客户端接收pageSize头,所以它看起来从未被调用过
这是我的目标配置:
<destination id="invoiceListDataService">
<adapter ref="java-dao" />
<properties>
<scope>session</scope>
<source>com.williams.finance.invoice.dao.InvoiceReviewListAssembler</source>
<network>
<paging enabled="true" pageSize="100" />
</network>
<metadata>
<identity property="invoiceNumber"/>
</metadata>
</properties>
</destination>
我是不是遗漏了什么?您知道从哪里开始查找吗?首先,您的适配器定义是什么? 试试这个:
<adapters>
<adapter-definition class="flex.data.adapters.JavaAdapter"
id="java-dao"></adapter-definition>
</adapters>
有关类似问题的一些有用响应,请参阅此线程:
您的目标配置看起来已完成 仔细检查您的汇编器是否扩展了AbstractAssembler:
public class InvoiceReviewListAssembler extends AbstractAssembler
并且您至少要覆盖以下内容:
@Override
public int count(List arg0) {
return -1; // or return the collection length.
}
@Override
public boolean useFillPage(List fillParameters) {
return true;
}
@Override
public Collection fill(List fillParameters,
PropertySpecifier ps,
int startIndex,
int numItems) {
// TODO
}
我将首先查看params变量。它应该是一个包含“开始”和“行”信息的实例?也许你的flex数据服务忽略了这个参数。@Travis,你刚才问过这个问题。你找到解决办法了吗?顺便说一句:我强烈建议您进行网络调试。这是一个很好的调试工具,可以帮助您了解flex和服务器之间实际发送的内容。
<destination adapter="java-dao" id="invoiceListDataService">
@Override
public boolean useFillPage(List fillParameters)
{
// enabling paged-fill for all fills
return true;
}
public class InvoiceReviewListAssembler extends AbstractAssembler
@Override
public int count(List arg0) {
return -1; // or return the collection length.
}
@Override
public boolean useFillPage(List fillParameters) {
return true;
}
@Override
public Collection fill(List fillParameters,
PropertySpecifier ps,
int startIndex,
int numItems) {
// TODO
}