The problem is very simple. You're only binding to the <srvstat:up/> tag. Please update:
bind("up" -> upText, "down" -> downText) With that being said, polling for changes doesn't make much sense. I'd suggest only redrawing when you get a message that a server has gone up/down. On Wed, Jan 20, 2010 at 9:19 AM, Donald McLean <dmclea...@gmail.com> wrote: > I am a total newbie trying to learn Scala and Lift. It is a near > certainty that my problem is a misunderstanding of something simple so > please don't assume that I have a clue. > > My organization is performing a technology evaluation and the winning > technology will be used for an upcoming project. Scala/Lift is the > first technology to be evaluated. > > As part of the evaluation, we are going to implement a handful of > small items in each technology so that we can evaluate them on factors > such as ease of learning and ease of modifying. > > The first feature that we are going to start with is a simple comet > bit that reports the summary of the system server status - number of > servers that are up vs number that are down. Determining these two > numbers is hard but displaying them looks like it should be reasonably > easy - if I could understand it enough to make it work. > > I'm starting with the comet example from section 9.5.2 of "Exploring Lift". > > I have a block in my HTML file and I also have a class "ServerStatus". > The result is the error message at the end of this message (with the > arrow showing that srvstat is the unbound prefix). > > What am I missing? > > Thank you, > > Donald > > ----- HTML snippet----- > <lift:comet type="ServerStatus" name="Other"> > Servers up: <srvstat:up>don't know</srvstat:up> > Servers down: <srvstat:down>don't know</srvstat:down> > </lift:comet> > > ----- file ServerStatus.scala ----- > > package demo.helloworld.comet > > import net.liftweb.http.CometActor > import net.liftweb.http.js.JsCmds.SetHtml > import java.util.Date > > import xml.Text > import net.liftweb.util.{ActorPing, Full, Helpers} > > class ServerStatus extends CometActor { > override def defaultPrefix = Full("srvstat") > > def upCount: Int = 5 > def downCount: Int = 6 > > def render = bind("up" -> upText) > def upText = (<span id="up"> > {upCount} > </span>) > > def downText = (<span id="down"> > {downCount} > </span>) > > // schedule a ping every 10 seconds so we redraw > val tickSpan: Helpers.TimeSpan = Helpers.intToTimeSpan(10000) > ActorPing.schedule(this, Tick, tickSpan) > > override def lowPriority: PartialFunction[Any, Unit] = { > case Tick => { > println("Got tick " + new Date()); > partialUpdate(SetHtml("up", Text(upCount.toString))) > partialUpdate(SetHtml("down", Text(downCount.toString))) > // schedule an update in 10 seconds > ActorPing.schedule(this, Tick, tickSpan) > } > } > } > case object Tick > > ----- Error Message ----- > XML Parsing Error: prefix not bound to a namespace > Location: http://mcproto.translab.stsci.edu:8080/liftdemo/ > Line Number 22, Column 23: Servers down: <srvstat:down>don't > know</srvstat:down> > ----------------------^ > -- > Family photographs are a critical legacy for > ourselves and our descendants. Protect that > legacy with a digital backup and recovery plan. > > Join the photo preservation advocacy Facebook group: > http://www.facebook.com/home.php?ref=logo#/group.php?gid=148274709288 > > -- > You received this message because you are subscribed to the Google Groups > "Lift" group. > To post to this group, send email to lift...@googlegroups.com. > To unsubscribe from this group, send email to > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/liftweb?hl=en. > > > > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Surf the harmonics--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.