如果我能做到這一點,我怎麼在Wicket的JavaScript代碼中調用Java代碼(例如方法)。如何從Wicket中的JavaScript代碼調用Java代碼?
回答
ERK完成。正確的答案是ajax回叫。您可以手動編寫js以掛鉤到wicket js,也可以從java中的wicket組件設置回調。 例如,從AjaxLazyLoadPanel:
component.add(new AbstractDefaultAjaxBehavior() {
@Override
protected void respond(AjaxRequestTarget target) {
// your code here
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderOnDomReadyJavascript(getCallbackScript().toString());
}
}
這個例子說明如何添加回調代碼在檢票的任何部件。在瀏覽器中觸發OnDomReady事件之後,在加載頁面時,Wicket會引發它的js工作,使用Ajax將代碼回調到上面顯示的'respond'方法中,此時您可以在服務器,並可能將組件添加到ajax目標以重新呈現。
要從js手動執行此操作,您可以通過將getCallbackScript()。toString()打印到檢票組件上的屬性來掛鉤到wicket的系統,然後您可以從js訪問該屬性。從wicket-ajax.js手動使用wicket的wicketAjaxGet從js手動調用此URL。
退房談話的大量的關於這一主題的郵件列表: http://www.nabble.com/Wicket-and-javascript-ts24336438.html#a24336438
http://www.wicket-library.com/wicket-examples-6.0.x/index.html/有很多的例子,讓你去。
,或者在DWR
一個看一看DWR允許JavaScript在瀏覽器與服務器上的Java的互動,並幫助您處理網頁的結果。
由於Dorward提到這是通過AJAX
斷開鏈接http://wicketstuff.org/wicket13/ajax/ – Gorky 2014-05-09 00:03:00
摘自https://cwiki.apache.org/WICKET/calling-wicket-from-javascript.html
如果添加了擴展AbstractDefaultAjaxBehavior到你的頁面的任何類,檢票ajax.js將被添加到您網頁的標題。檢票ajax.js爲您提供了兩種基本的方法來調用您的組件:
function wicketAjaxGet(url, successHandler, failureHandler, precondition, channel)
和
function wicketAjaxPost(url, body, successHandler, failureHandler, precondition, channel)
下面是一個例子:
的JavaScript
function callWicket() {
var wcall = wicketAjaxGet('$url$' + '$args$', function() { }, function() { });
}
$url$
是從方法abstractDefaultAjaxBehavior.getCallbackUrl()
獲得。如果將從該方法返回的字符串粘貼到瀏覽器中,則會調用respond方法,這同樣適用於javascript方法。
您可以通過將這些參數添加到URL字符串中來選擇性地添加參數。他們採取&foo=bar
的形式。
你在Java響應方法可選參數是這樣的:
Map map = ((WebRequestCycle) RequestCycle.get()).getRequest().getParameterMap();
或本:
String paramFoo = RequestCycle.get().getRequest().getParameter("foo");
值得一提的是Wicket 1.5中用於提取參數的API已更改。調用`RequestCycle.get()。getRequest()`獲得`Request`對象後,現在必須調用`getQueryParameters()`(用於GET參數),`getPostParameters()`(用於POST參數)或`getRequestParameters ()`(一次全部)。每個都會返回一個IRequestParameters實例,您可以查詢參數。請參閱[API文檔](http://wicket.apache.org/apidocs/1.5/)。 – cooperised 2012-03-13 19:56:07
- 1. 從Javascript撥打Wicket代碼
- 2. 從背後的代碼調用javascript與從javascript調用代碼
- 3. 如何從smarty中調用JavaScript代碼?
- 4. 從本機代碼調用Java代碼?
- 5. 如何使用代碼在java wicket中使用代碼打開新選項卡
- 6. 如何調試從Java調用的JavaScript代碼(通過JSR-223)?
- 7. 如何從Objective-C代碼調用JavaScript代碼?
- 8. 如何從Wicket中的Java文件動態添加HTML代碼?
- 9. Java代碼中的JavaScript函數調用
- 10. 如何從tapestry代碼調用javascript?
- 11. 如何從JavaScript調用C#代碼
- 12. 如何調用JavaScript從本地代碼
- 13. 如何從Xpand調用Java代碼?
- 14. 如何從java代碼調用servlet?
- 15. 如何從Java調用Pro * C代碼?
- 16. 如何從Java調用Xtend代碼?
- 17. 如何從Java代碼調用servlet
- 18. 從vb.net調用javascript代碼
- 19. 從javascript調用C#代碼
- 20. 從PHP調用java代碼
- 21. 從C代碼調用Java
- 22. 從C#調用Java代碼#
- 23. 從Java調用C#代碼?
- 24. 從python調用java代碼
- 25. 從Java調用Scala代碼?
- 26. 在javascript代碼中調用java方法
- 27. 從SharePoint中的JavaScript調用C#代碼
- 28. 想要使用JavaCPP從Java代碼中調用C++代碼?
- 29. 如何在Visual Studio代碼中用javascript代碼調試.html?
- 30. 如何從C#代碼中的Response.Flush()後面的代碼調用JavaScript函數
最後鏈接不起作用 – 2011-02-12 18:21:21