2017-08-23 62 views
1

我正在使用Tapestry中的mixins zoneUpdater在我寫入文本字段時觸發事件。不過,我不斷收到以下錯誤:帶有掛毯的Onkeyup事件5.2.6

Failure creating embedded component 'myComponent' of com.mycompany.myapp.web.pages.tapestryTest.testEdit: Unable to resolve 'zoneUpdater' to a mixin class name. 

這裏是在TML頁面的代碼:

<div t:type="zone" t:id="myZone" id="myZone" update="show"> 
<table><tr> 
    <td class="td-right-view"><t:label for="myComponent"/></td> 
    <td class="td-left-view"><t:textfield t:id="myComponent" 
    value="myValue" t:validate="maxlength=8" maxlength="8" 
    style="width:70px;" t:mixins="zoneUpdater" t:clientEvent="keyup" 
    t:event="updateMyValue" t:zone="myZone"/></td></tr> 
</table 
</div> 

在控制器我定義了以下方法:

@OnEvent(component = "updateMyValue") 
Object onupdateMyValue() 
{ 
    if (this.value.length()==8){ 
     //does something 
    } 

    return myZone.getBody(); 
} 

知道爲什麼我不斷收到這個問題?我做的和jumpstart一樣,但由於某些原因,它不能識別zoneUpdater。我使用的是Tapestry 5.2.3,因此它應該不需要從Jumpstart創建類。

由於提前, 雷米

回答

1

掛毯本身並沒有一個叫ZoneUpdater混入。在Jumpstart頁面上描述的一個(例如,http://jumpstart.doublenegative.com.au/jumpstart7/examples/ajax/onevent)是一個自定義的頁面。查看源代碼鏈接。只需將該代碼粘貼到您的項目中。

+0

我試了一下,它的工作,謝謝!我發現了另一種方式,我會盡快發佈。 – Remi