4

play 2.0模板引擎是否支持html页面中的简单计算。

假设,我创建了一个 sum.scala.html 页面:

@(a:String, b: String)

<html>
<head></head>
<body>
  <h1> answer is getSum(@a,@b) </h1>
</body>
</html>

有什么方法可以通过某个函数“获取 a 和 b 的总和”?或者是否有任何 play 2.0 专家知道关于 play 2.0 模板引擎中的计算的好主意?谢谢

4

4 回答 4

11

你试过@(a.toInt + b.toInt)吗?

于 2012-04-05T08:59:08.213 回答
3

您可以将值传递给模板,不是吗?

@(a:String, b: String, c: String)

<h1> answer for @a + @b is @c </h1>

您还可以从Yourcontroller模板中调用函数:

@Yourcontroller.getSum(a,b);

/app/controllers/Yourcontroller.java广告中,功能(最简单的示例):

public static Integer getSum(String a, String b){
    Integer c = Integer.valueOf(a) + Integer.valueOf(b);
    return c;
}
于 2012-04-05T08:19:42.027 回答
2

如果要多次引用结果,可以使用defining

@defining(a.toInt + b.toInt) { sum =>
  <h1>The sum is @sum</h1>
  The sum of @a + @b is @sum
}
于 2012-04-05T12:42:07.657 回答
0

用于在 scala html 模板中重用您的代码。您可以为此在模板中创建模板功能。

@sum(a:Long,b:Long) = {
@(a + b)
}

并在您的模板中将其作为普通函数调用。喜欢@sum(2,3)

于 2013-06-03T11:12:18.950 回答