Как сделать фрагмент в Lift - Scala - PullRequest
4 голосов
/ 10 ноября 2011

Что мне нужно сделать, это поместить один тег на html-страницу:

<lift:surround with="default" at="content"> 

<span class="lift:WorkingStatus.print"></span> 

</lift:surround> 

и иметь класс фрагмента в соответствующем фрагменте. * Package:

class WorkingStatus {

  def print():String={return "<table></table>";}

  def speak = <span>Hello World</span>

  def render = "* *" #> "Hello there in span"
} 

Функция будетсгенерировать некоторую html-таблицу в строке, которая будет отображаться в html, как в def print().

Итак, это что-то довольно тривиальное, и я никак не могу заставить его работать.Мне нужен класс Scala, который можно было бы включать везде, где это необходимо, на html-страницы, например, скажем, с <jsp:include>, и этот класс должен иметь возможность подключаться к внешнему веб-сервису, получать список некоторых данных и генерировать html, который затем будет вставленна желаемых местах ... достаточно сложно?:)

1 Ответ

1 голос
/ 11 ноября 2011

У вас неверная подпись для метода печати. Методы фрагментов: NodeSeq => NodeSeq. Таким образом, более подробный вариант
def print(xhtml:NodeSeq):NodeSeq={return <table></table>;} или вы можете использовать

def print = "*" #> <table></table>

если вам понадобится какое-то преобразование или просто:

def print = <table></table>
...