我正在使用 lift 和 scala 创建一个示例网络应用程序。我的应用程序中有两个页面。第一个有一个表单,它从用户那里获取票证信息,点击提交时它会调用代码片段。我想在下一页显示我的表单值。我提到了 如何在使用 Lift 框架的代码段传递的 HTML 页面中获取参数的问题,但存在一些问题。到目前为止,我尝试了以下代码。 在我的第一页片段中:
class ticketDetailsResponse(
var source:String="",
var destination:String="")
object BookFirstCityTrain {
def render = {
val responseForm = new ticketDetailsResponse()
var from = ""
var to = ""
def process() {
responseForm.source = from
responseForm.destination = to
S.redirectTo("ConfirmTicket.html", () => showTicketDetails.ticketDetails(Full(responseForm)))
}
"name=source" #> SHtml.text(from, from = _) &
"name=destination" #> SHtml.text(to, to = _) &
"type=submit" #> SHtml.onSubmitUnit(process)
}
}
和我的第二页片段
object showTicketDetails {
object ticketDetails extends RequestVar[Box[ticketDetailsResponse]](Empty)
}
class showTicketDetails {
def render = "*" #> {
showTicketDetails.ticketDetails.get.map { r =>
"#fromStation" #> r.source
"#toStation" #>r.destination
}
}
}
我从视图中引用了我的第二页片段,如下所示:
<div data-lift="showTicketDetails" >
From: <span id="fromStation"></span><br />
To: <span id="toStation"></span><br />
</div>
但是当只有一个参数时它工作得很好。如果我在页面 () 中打印第二个参数,则第"#toStation" #>r.destination
一个打印值正在消失。只有最后一个值在这里打印。我怎样才能打印这两个。任何人都可以为我回答。一些投入将是有价值的。谢谢!!!