2010-03-30 17 views
0

我是新來的檢票口,並堅持以下問題:Ajaxrequest與檢票口,但多個possilbe模型值

我有一個5行的表。每行包含7個單元格。每個單元格都有一個唯一的值。一旦單元被點擊,其獨立值應該被髮布到服務器。

我想在表格上只註冊一個ajaxfallbacklink(或類似的),並將模型的值調整爲單擊單元格的唯一值。

任何想法?

回答

1

我的直接反應是「你爲什麼要這樣說,這」 - 顯而易見的解決方案是一個Ajax的onClick行爲添加到每個單元格/單元格的內容組件(很明顯,你只需要編寫一個行爲)。這就是它的設計原理。

你建議你可以寫一個處理程序,但它必須通過表格的組件樹拖網,添加正確的JS的onClick回調到每一個小區。然後,您必須考慮將onClick行爲添加到實際未表達onClick事件的組件的語義。

基本的自定義代碼的負載,繞過框架(整齊漂亮)AJAX模型沒有任何好處可言。

+0

你是對的 - 真的不是一個好主意 – 2010-04-01 08:31:56

0

你怎麼能知道,在一般情況下,該電池已被點擊時,你只擁有一個所有的處理程序?聽起來幾乎不可能。

但問題的檢票側是容易的,你總是可以編寫自己的IModel,或擴展AbstractReadOnlyModel。你只需要實現一個方法getObject()。

0

顯然,這將需要客戶端的JavaScript提取的信息發送到服務器。 當該信息是準備下面的代碼可以產生一個Ajax回調(從AbstractDefaultAjaxBehavior亞類)

generateCallbackScript(新AppendingStringBuffer(「wicketAjaxPost(\ ' 」)。追加(getCallbackUrl(假))。附加(「 \' ,'param ='+ Wicket.Form.encode(yourDataGoesHere)「));

and RequestCycle.get()。getRequest()。getParameter(」param「)獲取事物的java解碼值