我有以下功能,我想写入页面而不是println。我怎样才能做到这一点?我需要在我的页面中有一个包含该信息的表,但是我没有找到任何有关该信息的信息,我看到了如何将集合写入页面,但我更愿意在运行时写入页面。
提前致谢,我希望你的回复。
def tablaAmortizacion(xhtml:NodeSeq,monto:Double,amort:Double,start:java.util.Calendar) {
var formatter = new java.text.SimpleDateFormat("dd/MM/yyyy")
var end = new java.util.GregorianCalendar()
end.setTime(start.getTime)
end.add(java.util.Calendar.MONTH,1)
var difference = Math.abs(start.getTimeInMillis - end.getTimeInMillis)
var days = difference / (1000 * 60 * 60 * 24)
println("Monto sal: " + monto + " Amortizacion: " + amort + " Start: " + formatter.format(start.getTime) + " End: " + formatter.format(end.getTime) + " Days: " + days)
if (monto > amort) {
tablaAmortizacion(xhtml,monto-amort,amort,end)
}
}
Fernando Avalos。
答案 0 :(得分:2)
或者您可以在此方法中执行此类操作。
def list = <table>
<thead>
<tr>
<th>monto-amort</th>
<th>amort</th>
<th>end</th>
<th/>
</tr>
</thead>
<tbody>
{generateTableBody()}
</tbody>
def generateTableBody = {
//calculate values here.
<tr><td>{monto-amort}</td><td>{amort}</td><td>{end}</td></tr>
}
答案 1 :(得分:0)
我不确定你写的是什么意思。您是说要在呈现后动态地将表格添加到页面中吗? 如果你的意思是ajax,你应该看看彗星聊天应用程序。
或者你的意思是你想要某种表达语言,比如jsp / jsf页面吗? 如果你的意思是像jsp / jsf页面,答案是你不能,按设计。如果你需要动态生成html,你可以在你的代码片段中,而不是在xhtml中。
这是答案: 在您的xhtml文件中,您可以使用以下内容:
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
<th/>
</tr>
</thead>
<tbody>
<lift:PersonSnippets.list>
<tr>
<td>
<party:firstName/>
</td>
<td>
<party:middleName/>
</td>
<td>
<party:lastName/>
</td>
<td>
<party:edit/>
<party:delete/>
</td>
</tr>
</lift:PersonSnippets.list>
</tbody>
</table>
然后你的代码片段如下:
def list(xhtml: NodeSeq): NodeSeq = {
val people = Model.createNamedQuery[Person]("findAllPeople").getResultList()
people.flatMap(person =>
bind("party", xhtml,
"firstName" -> Text(person.getFirstName()),
"middleName" -> Text(person.getMiddleName()),
"lastName" -> Text(person.getLastName()),
"edit" -> link("/contact/person/edit", () => personVar(person), Text(?("Edit"))),
"delete" -> link("/contact/person/delete", () => personVar(person), Text(?("Delete")))
))
}