2012-10-05 25 views
0

我想通过Comet动态更新HTML表格。我有类似以下内容:彗星表与升降机2.4和HTML5

class EventsComet extends CometClient[Event] { 
    def server = Event 

    def render = { 
    println("Binding on: " + defaultHtml) 
    data.flatMap(event => 
     bind("event", "name" -> event.name.toString, "date" -> event.startDate.toString) 
    ) 
    } 
} 

和:

<lift:comet type = "EventsComet"> 
    <table> 
     <thead> 
      <tr> 
       <th>Name</th> 
       <th>Date</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td><event:name />Test Name</td> 
       <td><event:date />Oct. 25, 2012</td> 
      </tr> 
     </tbody> 
    </table> 
</lift:comet> 

这一遍又一遍打印出整个表,一个由EventsComet渲染的每一个事件。 println语句输出整个表节点。

所以,我试图变化:

<table> 
    <thead> 
     <tr> 
      <th>Race</th> 
      <th>Track</th> 
      <th>Date</th> 
     </tr> 
    </thead> 
    <tbody> 
     <lift:comet type = "EventsComet"> 
      <tr> 
       <td><event:name />Test Name</td> 
       <td><event:date />Oct. 25, 2012</td> 
      </tr> 
     </lift:comet> 
    </tbody> 
</table> 

如预期的,HTML5解析器剥离该[电梯:彗星]标签和没有结合发生。

于是,我行切换到:

<tr lift:comet = "EventsComet"> 
    <td><event:name />Test Name</td> 
    <td><event:date />Oct. 25, 2012</td> 
</tr> 

...作为一个片断例如here显示,但此语法我CometClient未在所有实例化。

任何人都可以建议正确的语法?

EventsComet本身工作正常;它可以使事件清单保持最新,而不会出现问题。我只会遇到问题,使用表(可能是其他高嵌套结构,我还没有尝试过呢?)。

谢谢。这对于这样一个简单的问题来说非常令人沮丧,并且使我想要开始以强类型模板语言开始实现我的模板,而不是使用绑定。

回答