我想從Wicket的Javascript中調用一些Java代碼。從Javascript撥打Wicket代碼
這是我的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方法
你只是想要執行一些java/wicket代碼並從javascript中觸發它,或者你需要一個你從javascript調用中得到和處理的響應嗎?對於第一種情況,我會知道一個簡單的方法來實現這一點。 –
是的,第一種情況對我有好處 – user2529173