【发布时间】:2015-04-23 20:08:20
【问题描述】:
但在具体要求中,我想使用 GWT 提供的建议框。我无法从数据库中获取所有字符串并存储在建议框中,因为它有 16000 条记录。所以我的要求是当用户输入 3 个字符时,我需要获取与 3 个字符匹配的字符串(如搜索)。请建议我如何实现这一目标?
谢谢!
【问题讨论】:
标签: gwt
但在具体要求中,我想使用 GWT 提供的建议框。我无法从数据库中获取所有字符串并存储在建议框中,因为它有 16000 条记录。所以我的要求是当用户输入 3 个字符时,我需要获取与 3 个字符匹配的字符串(如搜索)。请建议我如何实现这一目标?
谢谢!
【问题讨论】:
标签: gwt
实现您自己的SuggestOracle,当被要求提供建议时,它会进行异步服务器调用,而不是匹配内存中的字符串集:
public class MySuggestOracle extends SuggestOracle {
public void requestSuggestions(SuggestOracle.Request suggestRequest,
final SuggestOracle.Callback callback)
{
RequestBuilder rb =
new RequestBuilder(RequestBuilder.GET,
"/suggestions?" + suggestRequest.getQuery());
rb.sendRequest(null, new RequestCallback() {
@Override
public void onError(Request request, Throwable exception) {
// Handle error
}
@Override
public void onResponseReceived(Request rbRequest, Response response) {
SuggestOracle.Response r = new SuggestOracle.Response();
// Fill r based on suggestions in the response parameter.
callback.onSuggestionsReady(suggestRequest, r);
}
});
}
【讨论】: