0

我有以下功能,我想写入页面而不是 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)
    }

}

费尔南多·阿瓦洛斯。

4

2 回答 2

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>
}
于 2009-12-23T18:18:15.003 回答
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")))
          ))

}

于 2009-12-22T21:58:10.433 回答