当我试图用回调操作提供的结果更新表单时,我遇到了一个问题。这个问题是由Wicket单例线程引起的,我不明白如何实现一个解决方案。我需要更新的代码如下。
provaButton = new AjaxLink("prova_btn"){
@Override
public void onClick(AjaxRequestTarget art) {
getChannelManagerAPI().getToken(new ChannelManagerCallbackWrapper() {
@Override
protected void onSuccess(Object object) {
Object[] response = null;
response = (Object[]) object;
for (Object obj : response) {
info("Result " + obj.toString());
}
}
@Override
protected void onFailure(Throwable throwable) {
info("Errore nella chiamata : "+ throwable.getMessage());
}
});
refreshFeedBackPanel(art);
}
};
add(provaButton);
看来您正在进行异步调用。Wicket不支持挂起HTTP线程,因此您有以下选项:
>
阻止HTTP线程并等待异步服务的响应。例如。您可以在回调方法中使用java.util.concurrent.CountDownLatch
Await()
和Countdown()
。只有在确定异步调用速度快的情况下才使用此方法!
使用org.apache.wicket.ajax.abstractajaxTimerBehavior
或其专门化org.apache.wicket.ajax.ajaxSelfUpdatingTimerBehavior
执行长轮询
。其思想是启动异步调用,然后在每个nMS/secs上,Wicket将进行一个新的Ajax调用,以检查是否有响应并呈现它。
使用Wicket Native WebSocket在异步调用的结果可用时立即将其推送。
我创建了一个应用程序,其中一个地点列表保存在数据库中。我只根据Google留档保存了保存地点的地点ID。 然后我创建了一个界面,让用户输入他们的当前位置(mCurrentLocation)。 然后,我创建了一个异步任务,检查数据库中保存的每个地点ID,并检查哪些地点距离用户位置500米以内。这是在doInBackground中完成的。根据Google文档,我使用了getPlaceById和setR
问题内容: 在同一张表上更新后,如何在触发器中更新表的列? 这是触发条件: 现在当我像这样更新表时 这不起作用,因为我得到以下信息: 那么我到底该如何工作呢? 问题答案: 如果将触发器更改为而不是,可以这样操作:
问题内容: 这一点效果很好: 它将列中的所有字段组加在一起。 我遇到的麻烦是得到此结果来更新另一个表中的另一列。 这就是我所拥有的: 任何建议,不胜感激。 问题答案: 您不能在内部使用update语句。您需要使用子选择进行分组。 像这样的东西:
我在试用GraphQL。我从postgresql中提取数据,除了一个问题,解析在查询完成之前就完成了,其他一切似乎都能正常工作。我以为我的查询承诺工作正常。这里是我为查询数据库而创建的类: 下面是我的graphql查询: 我注释了我的结果,只是想了解一下返回静态内容的情况,结果似乎在then()内时不会返回到graphisql(这意味着在then()之前完成的解析)。输出: } 我可以通过将静态返
更改为请求似乎可以解决这个问题。
问题内容: 我使用asp.net和网络表单。在我的项目中,我有asmx Web服务 结果就是这种格式。 如何在$ .ajax成功中附加此结果标签以获取此输出: 1-测试1,2-测试2。 问题答案: 而是返回列表,并使用[ScriptMethod(ResponseFormat = ResponseFormat.Json)]属性- 它将自动创建JSON对象作为返回: 在JS方面: