Java GWT KeyUpEvent在服务器上不工作

Java GWT KeyUpEvent在服务器上不工作,java,google-app-engine,gwt,Java,Google App Engine,Gwt,我在GWT上有这样的代码: @UiHandler("playerSearchTextBox") public void onSearchPlayers(KeyUpEvent event) { String searchText = playerSearchTextBox.getText(); GWT.log("search text :: " + searchText); List<Profile> players = new ArrayList<

我在GWT上有这样的代码:

  @UiHandler("playerSearchTextBox")
  public void onSearchPlayers(KeyUpEvent event) {
    String searchText = playerSearchTextBox.getText();
    GWT.log("search text :: " + searchText);
    List<Profile> players = new ArrayList<Profile>();
    for (Profile profile : originalPlayerList) {
      if (profile.getPlayerName().toLowerCase().contains(searchText.toLowerCase())) {
        players.add(profile);
        GWT.log("PLAYER :: " + profile);
      }
    }

    playersCellList.setRowCount(0);
    playersCellList.setRowData(players);

    GWT.log("players :: " + players);
  }
@UiHandler(“playerSearchTextBox”)
搜索播放器上的公共无效(KeyUpEvent事件){
String searchText=playerSearchTextBox.getText();
log(“搜索文本::”+搜索文本);
List players=new ArrayList();
用于(配置文件:originalPlayerList){
if(profile.getPlayerName().toLowerCase().contains(searchText.toLowerCase())){
添加(个人资料);
log(“玩家::”+profile);
}
}
PlayerCellList.setRowCount(0);
PlayerCellList.setRowData(玩家);
日志(“玩家::”+玩家);
}
但当我输入时,它似乎并没有调用生产服务器,它也在开发中工作。我使用SDM。我发现答案是KeyUpEvent不是跨浏览器的,而且我知道它在很久以前就起作用了

有解决办法吗

UPD

我使用GAE作为生产服务器

UPD 2

生成的js有:

function $onSearchPlayers(this$static){
  var players, profile, profile$iterator, searchText, stackIndex;
  $stack_0[stackIndex = ++$stackDepth_0] = $onSearchPlayers;
  searchText = $getText_0(($location_0[stackIndex] = 'CheckersViewImpl.java:' + '119' , this$static).playerSearchTextBox);
  players = ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '121' , new ArrayList);
  for ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '122' , profile$iterator = new ArrayList$1(($tmp = ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '122' , this$static).originalPlayerList , $location_0[stackIndex] = 'ArrayList.java:' + '141' , $tmp)); ($location_0[stackIndex] = 'ArrayList.java:' + '146' , ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '122' , profile$iterator).i) < ($location_0[stackIndex] = 'ArrayList.java:' + '146' , ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '122' , profile$iterator).this$01).array.length;) {
    profile = castTo($next_7(($location_0[stackIndex] = 'CheckersViewImpl.java:' + '122' , profile$iterator)), 108);
    indexOf_1(toLowerCase(($tmp = ($location_0[stackIndex] = 'Profile.java:' + '107' , ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '123' , profile).playerName) , $location_0[stackIndex] = 'String.java:' + '738' , $tmp)), ($tmp = ($location_0[stackIndex] = 'String.java:' + '741' , $clinit_String() , ($tmp = ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '123' , searchText) , $location_0[stackIndex] = 'String.java:' + '742' , $tmp).toLowerCase()) , $location_0[stackIndex] = 'String.java:' + '450' , $tmp)) != -1 && ($location_0[stackIndex] = 'ArrayList.java:' + '77' , ($location_0[stackIndex] = 'ArrayList.java:' + '77' , ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '124' , players).array)[($location_0[stackIndex] = 'ArrayList.java:' + '77' , ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '124' , players).array).length] = ($location_0[stackIndex] = 'CheckersViewImpl.java:' + '124' , profile));
  }
  $setRowCount(($location_0[stackIndex] = 'CheckersViewImpl.java:' + '129' , this$static).playersCellList, 0);
  $setRowData(($location_0[stackIndex] = 'CheckersViewImpl.java:' + '130' , this$static).playersCellList, players);
  $stackDepth_0 = stackIndex - 1;
}
函数$onSearchPlayer(此$static){
var播放器、配置文件、配置文件$iterator、searchText、stackIndex;
$stack_0[stackIndex=+$stackDepth_0]=$OnSearchPlayer;
searchText=$getText_0($location_0[stackIndex]='CheckersViewImpl.java:'+'119',此$static)。playerSearchTextBox);
players=($location_0[stackIndex]='CheckersViewImpl.java:'+'121',新数组列表);
对于($tmp=($location_0[stackIndex]='CheckersViewImpl.java:'+'122',profile$iterator=new ArrayList$1)($tmp=($location_0[stackIndex]='CheckersViewImpl.java:'+'122',this$static)。originalPlayerList,$location_0[stackIndex]='ArrayList.java:'+'141',$tmp));($location_0[stackIndex]='ArrayList.java:'+'146',($location_0[stackIndex]='CheckersViewImpl.java:'+'122',profile$iterator.i)<($location\u 0[stackIndex]='ArrayList.java:'+'146',($location\u 0[stackIndex]='CheckersViewImpl.java:'+'122',profile$iterator.this$01)。array.length;){
profile=castTo($next_7($location_0[stackIndex]='CheckersViewImpl.java:'+'122',profile$iterator)),108);
索引of_1(小写($tmp=($location_0[stackIndex]='Profile.java:'+'107',($location_0[stackIndex]='CheckersViewImpl.java:'+'123',Profile.playerName),$location_0[stackIndex]='String.java:'+'738',$tmp=($location_0[stackIndex]='String.java:'+'741',$clinit_String(),($tmp='location_0[stackIndex]='CheckersViewImpl.java:'+'123',searchText),$location_0[stackIndex]='String.java:'+'742',$tmp.toLowerCase(),$location_0[stackIndex]='String.java:'+'450',$tmp))!=-1&($location_0[stackIndex]='ArrayList.java:'+'77',($location_0[stackIndex]='ArrayList.java:''77',($location_0[stackIndex]='CheckersViewImpl.java:'+'124',players).array[($location_0[stackIndex]='ArrayList.java:'+'77',($location_0[stackIndex]='CheckersViewImpl.java:'+'124',players.array.).length]=($location_0[stackIndex]='CheckersViewImpl.java:'+'124',profile));
}
$setRowCount($location_0[stackIndex]='checkerViewImpl.java:'+'129',此$static)。PlayerCellList,0);
$setRowData($location_0[stackIndex]='checkerViewImpl.java:'+'130',此$static)。PlayerCellList,玩家;
$stackDepth_0=stackIndex-1;
}

GWT.log仅在开发中有效。当你说“不工作”的时候,你需要更具体一些。我建议它不能被调用,因为玩家列表没有更新。当我在开发模式下输入时,生产中不会发生任何事情。那么,在浏览器开发工具中您看到了哪些错误?我看到了日志输出和筛选的播放器列表。而且,我在生产中看不到任何东西,无论是日志还是筛选的播放器列表。再说一次,您在生产中的浏览器开发工具中看到了什么?