【发布时间】:2017-02-21 19:58:40
【问题描述】:
我正在尝试从 Wicket 中的 Javascript 调用一些 Java 代码。
这是我的 Java 代码:
public ShowUnternehmen() {
add(new AbstractDefaultAjaxBehavior() {
@Override
protected void respond(AjaxRequestTarget ajaxRequestTarget) {
System.out.println("respond");
}
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead( component, response );
System.out.println(getCallbackUrl());
}
});
}
这是 Javascript 代码:
<wicket:head>
<script type="text/javascript" >
$(function() {
$.contextMenu({
selector: '.context-menu-one',
callback: function(key, options) {
var m = "clicked: " + key;
alert("BLA");
Wicket.Ajax.get({"u":"./com.emg.panels.unternehmen.ShowUnternehmen?1-1.IBehaviorListener.0-"})
},
items: {
"edit": {name: "Editieren", icon: "edit"},
"quit": {name: "Abbrechen", icon: function(){
return 'context-menu-icon context-menu-icon-quit';
}}
}
});
$('.context-menu-one').on('click', function(e){
console.log('clicked', this);
})
});
</script>
</wicket:head>
但是响应方法永远不会执行。我正在查看其他示例,但它们似乎都令人困惑。
我从 renderHead 方法得到这个 url
【问题讨论】:
-
您只是希望能够执行一些 java/wicket 代码并从 javascript 触发它,还是您需要从 javascript 调用中获取和处理的响应?对于第一种情况,我会知道一种简单的存档方法。
-
是的,第一个案例对我有好处
-
@OH GOD SPIDERS 我可以使用帮助来返回数据。我对此提出了一个新问题:stackoverflow.com/questions/49789018/…
标签: javascript java wicket