playframework的控制器定义
在playframework 2中,控制器被设计为一个scala object对象,该对象继承自play.api.mvc.Controller.
控制器的的数据通过render(参数1,参数2...参数N)的方式传递到模板文件,该传递机制形似到java中的数组的
定义,如
Stirng array[]={"a","b","c"}
因为这种控制器数据传递机制与传统Struts1,struts2,spring mvc都有所不同,很容易对从java转程序员造成误解。
控制器示代码:
object AdView extends Controller {
def list = Action {
val adao=new AdSpiderInfo
adao.show
var acount= adao.count
acount=1000
println("#####acount#####"+acount)
//被传递到模板中的代码
Ok(views.html.adlist.render("AdSpider","{acount}",acount) )
}
创建/views/adlist.scala.html模板文件,呈现数据:
在模板开始处,定义从控制器传递过来的参数
@(title: String)(content: String)(adcount:Long)
在HTML中嵌入要显示的数据,通过@xxx形式调用传入的数据,如@title将显示控制器代码中设置的值"AdSpider".
示例代码:
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
<meta charset="UTF-8">
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
<script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script>
<style type="text/css">
</style>
</head>
<body>
@adcount
</body>
</html>