Play学习 - 体验网页模板

在经过无数个尝试后,最终用sbt把play所依赖的所有包都下载下来了,现在可以非常快速编译运行了。今天体验了下网页模板,觉得非常不错,在这里做个简单的介绍。

原文说明:

A Play Scala template is a simple text file that contains small blocks of Scala code. Templates can generate any text-based format, such as HTML, XML or CSV.

The template system has been designed to feel comfortable to those used to working with HTML, allowing front-end developers to easily work with the templates.

Templates are compiled as standard Scala functions, following a simple naming convention. If you create a views/Application/index.scala.html template file, it will generate a views.html.Application.index class that has a render() method.

大致意思就是,你所建立的xxx.scala.html模板文件会编译成标准的scala对象和方法,比如说你创建一个index.scala.html,则会自动对应生成views.html.Application.index类,这里包含一个render的方法来指你本html。

我决定做一个路由,这个路由专门用来我学习play framework的,路径是/help,那么按照如下步骤:

1、编写模板文件 help.scala.html, 代码如下:

@(title: String)(message: String)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>@title</title>
</head>
<body>
    @play20.welcome(message, "java");
</body>
</html>

  @(title:String)(message:String)相当于这个模板的传入参数,可以把这个模板比作一个方法,最上面是定义模板的形式参数,下面的html语言是网页实现,通过@某一个参数可以获取参数的值,如代码中得@title。此时会自动生成views.html.Application.help类,包含一个方法render,这个方法的参数就是@(title:String)(message:String)。所以在action中就调用render来跳转到模板网页中去了。

@play20.welcome(message, "java"); 这个是play自带的说明文档网页

2、编写控制器,在Application中,或者说任意继承自Controller的类中

    public Result help() {
        return ok(help.render("Play Framework帮助文档", "this is doc of play framework for java"));
    }

3、映射路由

# Play Framework help doc
GET     /help                       controllers.Application.help()

这样就完工了,这时只需要打开 http://127.0.0.1:9000/help 就可以了。

开发完成后,只需要刷新页面即可,不需要重新run起来,这时Play的一大亮点,开发快速。

Play!的关键特性:
1、一个非常简单的开发周期。此框架自动编译和重新装载源文件的任何改变。
2、智能捆绑HTTP参数到Java方法参数。
3、基于Jboss Netty框架的快速HTTP服务器,使Play能支持高并发、长连接以及静态文件优秀的输出能力。
4、一个基于Groovy的强大的模板引擎,具有多层继承,定制用户标签的能力,高可拓展性等。
5、优秀的错误报告功能:当发生异常,此框架会直接显示出错代码,甚至是模板代码。[1]
6、易于实现非阻塞、大并发
时间: 2024-10-12 15:36:45

Play学习 - 体验网页模板的相关文章

【Knockout.js 学习体验之旅】(3)模板绑定

本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knockout.js 学习体验之旅](1)ko初体验 [Knockout.js 学习体验之旅](2)花式捆绑 [Knockout.js 学习体验之旅](3)模板绑定 模板引擎 页面是由数据和HTML组件构成的,如何将数据嵌入到HTML组件里面呢?一个比较好的选择是使用模板技术. 回顾下第一篇([Knock

网页模板在线生成系统

上传图片,可生成外链 http://xt.yuanm.net/images.php 在线网页模板制作系统 http://xt.yuanm.net/ph_grzy/index.php ? 我搞了一个还不错,但是只能在他们自己网站上 ,模板无法下载下来 http://xt.yuanm.net/web.php?id=R6iHEVz ? 网站说了 可以做自我介绍 表白等页面.给对方惊喜 ? 我是用于学习github做托管网页,试一试,找个合适的模板做测试的..

初学者--如何正确的构建一个网页模板----在路上(5)

一.基本网页模板,一般包括六大部分文档:   在你的文件夹中一般包含六个文档:index.html.css.js.img.lib(前提是你已经学过了bootstrap).fonts  (在这只简单介绍一下,后续会把每个部分所涉及到的有关内容写出与你分享) (一) . index.html(结构框架--结构层  从语义出发,描述网页结构的)      超文本标记语言.英文全拼:HyperText Markup Language.负责网页的语义描述.  HTML基本骨架:    <!DOCTYPE

(转)dedecms网页模板编写

网页模板就是templets中的htm文件,所以编写模板就是要编写html.这篇文章不是关于标签的具体使用,而是对网页模板的一些理解.包括基本的标签语法,封面模板,列表模板和文档模板的关系. 一 关于标签 dedecms标签:就像html标签,不过是织梦自定义的,由标签名,属性,和InnerText构成. 改写文件templets/index.htm 网站名:{dede:global name=cfg_webname/}<br/><br/> <strong>最近登陆的会

15款免费的 HTML5/CSS3 响应式网页模板

如果你想快速制作出一个优秀的网站,网站模板一定是必不可少的.网页设计师和开发人员也可以从网站模板入手,学习先进的布局方式和编码风格.下面这个列表为大家挑选了15款免费的 HTML5/CSS3 响应式网页模板,相信会有你需要的. 您可能感兴趣的相关文章 Web 前端开发人员和设计师必读文章集锦 经典网页设计:25个应用视差滚动单页网站 经典网页设计:20个新鲜出炉 HTML5 网站 经典网页设计:20例简洁精美着陆页面设计 经典网页设计:20个简约风格电子商务网站 1. Big Picture 2

C++ Primer 学习笔记_77_模板与泛型编程 --实例化

模板与泛型编程 --实例化 引言: 模板是一个蓝图,它本身不是类或函数.编译器使用模板产生指定的类或函数的特定版本号.产生模板的特定类型实例的过程称为实例化. 模板在使用时将进行实例化,类模板在引用实际模板类型时实例化,函数模板在调用它或用它对函数指针进行初始化或赋值时实例化. 1.类的实例化 当编写Queue<int>qi时,编译器自己主动创建名为Queue<int>的类.实际上,编译器通过又一次编写Queue模板,用类型int取代模板形參的每次出现而创建Queue<int

C++ Primer 学习笔记_81_模板与泛型编程 --类模板成员[续1]

模板与泛型编程 --类模板成员[续1] 二.非类型形参的模板实参 template <int hi,int wid> class Screen { public: Screen():screen(hi * wid,'#'), cursor(hi * wid),height(hi),width(wid) {} //.. private: std::string screen; std::string::size_type cursor; std::string::size_type height

C++ Primer 学习笔记_82_模板与泛型编程 --类模板成员[续2]

模板与泛型编程 --类模板成员[续2] 六.完整的Queue类 Queue的完整定义: template <typename Type> class Queue; template <typename Type> ostream &operator<<(ostream &,const Queue<Type> &); template <typename Type> class QueueItem { friend clas

网页模板

12款精美的免费 CSS 网页模板下载 这篇文章收集了12款精美的免费CSS网页模板分享给大家,您可以免费下载使用.相信这些漂亮的免费 CSS网页模板 既能够帮助您节省大量的时间和精力,又能有很满意的效果.希望这些免费的CSS网页模板能帮助到您. Coffee ( 演示| 下载 ) CleanBusiness ( 演示| 下载 ) WesternShop ( 演示| 下载 ) Light House ( 演示| 下载 ) Blue Motion ( 演示| 下载 ) Ancient ( 演示|