来看看 Play 框架是怎么工作的 ?
打开 conf 目录下的 routes 文件,你可以看到这么一行:
GET / Application.index
该配置表示当请求 / 时,会调用 Application 类的 index 方法,接下来我们打开 app/controllers/Application.java ,就可以看到源码如下:
package controllers;
import play.mvc.*;
public class Application extends Controller {
public static void index() {
render();
}
}
这个代码中 index 方法输出了默认的模板,模板文件位于 app/views/Application/index.html ,与类名和方法名完全对应。模板文件如下所示:
#{extends 'main.html' /}
#{set title:'Home' /}
#{welcome /}
该模板扩展了 main.html 模板,并设置了页面标题为 Home,然后输出欢迎信息。这些都是 Play 框架为我们提供的一些标签,我们可以稍加修改如下:
#{extends 'main.html' /}
#{set title:'Hello World' /}
<h3>Hello the world !</h3>
刷新页面就可以看到浏览器上输出了 Hello the world ! 的信息。接下来我们再在控制器 Application 的 index 方法中增加一些我们自己的代码,如下所示:
public static void index() {
System.out.println("render()");
render();
}
再次刷新页面的时候,我们可以在控制台中看到如下输出信息:
17:50:01,670 INFO ~ Application 'Hello World' is now started !
render()
render()
render()
render()
render()
增加一个新的页面
假设我们要新增一个页面 /bye ,我们首先要在 conf/routes 文件中增加如下一行:
GET /bye Application.bye
然后在 Application.java 中增加一个新的方法 bye,如下所示:
package controllers;
import play.mvc.*;
public class Application extends Controller {
public static void index() {
render();
}
public static void bye() {
render();
}
}
最后就是新增模板文件 bye.html ,存放于 app/views/Application 目录下,模板内容如下:
#{extends 'main.html' /}
#{set title:'Bye' /}
<h3>Bye bye !</h3>
用浏览器访问 http://localhost:9000/bye 可看到如下输出:
A Bye page in Play Framework
Bye 页面的输出
结论
入门结束,5分钟左右吧?轻松创建应用骨架,轻松增加自己的代码,太轻松了!思路似足 Ruby on Rails 框架。
分享到:
相关推荐
Play Framework框架 Play Framework框架是一种基于Java的软件框架,旨在提高开发效率和提供REST式的架构风格。...Play Framework框架的未来看起来非常光明,该框架正在不断地发展和改进,提供了更多的功能和特性。
首先,我们来看《Play详细使用文档.doc》。这份文档通常会涵盖Play Framework的基本概念、安装步骤、项目结构、路由配置、模板引擎、控制器、模型、数据库集成、测试以及部署等核心内容。通过阅读这份文档,开发者...
Twirl支持多种模板语言,包括Scala和Java,并且能够无缝集成到Play框架的工作流程中。 标签 "开源项目" 指出这个压缩包中的内容是开放源代码的,这意味着任何人都可以查看、使用、修改和分发这些代码,这通常是通过...
再来看MyBatis,一个轻量级的ORM框架。与Hibernate不同,MyBatis允许开发者更自由地编写SQL,同时保持了简单易用的特点。它将SQL语句与Java代码分离,以XML配置文件或注解的形式定义,提供动态SQL功能,适合那些需要...
Play 框架是一个在 JVM 上运行的 Web 框架。结合这些功能,Play 可以使用发送到客户端的相同 JavaScript 在服务器上呈现其模板。 尝试一下: 为您的平台安装 JDK8 克隆这个存储库 按照说明安装并开始使用 Play 2.3.x...
- 理解Play框架:对Play Framework的原理和设计理念进行解释。 - Play2.6异步:可能讲述的是在Play Framework 2.6版本中,异步处理的实现和使用方式。 ***ty: - Netty框架及原理解析:深入探讨Netty框架的内部...
Play框架的特色之一是其模型-视图-控制器(MVC)架构模式,这使得业务逻辑、数据呈现和用户界面可以清晰地分离。同时,Play也集成了对Scala语言的深度支持,使其成为构建Scala Web应用的理想选择。 将`siren-scala`...
play-pac4j项目是Play框架v2 Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持注销和CSRF保护等高级功能。 它可以与Deadbolt一起使用。 它基于Play 2.8(Scala v2.12或v2.13)和v5 。 它...
从“标签”"Vc play"来看,这可能是指使用Visual C++进行视频播放的实现,可能涵盖了DirectShow、MFC(Microsoft Foundation Classes)或者其他视频解码和播放的相关技术。DirectShow是微软提供的一个多媒体框架,...
在仿迅雷看看播放器中,我们可以看到使用了诸如Play/Pause按钮、进度条、时间显示等控件,每个控件都需要绑定相应的事件处理函数来实现功能。 2. **布局管理**:Duilib支持多种布局方式,如绝对布局、相对布局等,...
通常,先安装Google服务框架,接着是Google Play服务,最后是Google Play商店。安装完成后,重启设备,你就可以在你的Android设备上使用Google Play商店来获取各种应用和游戏了。 请注意,这些APK文件是从第三方...
看不到源码玩精 Play-refined 是一个小型 Scala 库,可以使用 Lightbend 的 它允许您在 Play 中轻松使用精炼类型。 支持 Scala 2.11、2.12、2.13 和 Play 2.5、2.6、2.7 和 2.8。 您还需要使用 Java8 或更高版本。 ...
在iOS应用开发中,视频播放是一个常见的需求,而Swift作为苹果官方推荐的编程语言,有着丰富的库和框架来支持这一功能。本项目“swift-基于IJKPlayer框架的iOS播放器”就是一个很好的示例,它利用了IJKPlayer这个...
游戏框架blob 我最近遇到了使用 java play 框架(版本 2.3.x)将图像上传和存储为 BLOB 的问题。 在字节数组中上传和铲除数据是小菜一碟,但乍一看,将数据重新放入图像标签并不是那么简单。 互联网研究告诉我,我...
再来看看`org`目录,这通常用于第三方库或开源项目。在Google Play Music的源码中,`org`可能包含了如网络请求库(如Volley或OkHttp)、解析库(如Gson或Jackson)以及一些开源的音频处理库。这些库为应用提供了强大...
尽管现代有许多其他框架如Spring MVC、Play Framework等,但Struts仍然是理解Web应用框架原理的一个重要参考。学习Struts有助于理解MVC模式以及Web应用的架构设计。通过练习配置文件、Action和ActionForm的编写,...
接下来,我们来看看Struts框架的几个关键组件: - **ActionServlet**:这是Struts框架的入口点,它是一个扩展了Servlet的类,负责拦截HTTP请求并分发到相应的Action。 - **ActionMapping**:它定义了Action与URL...
看不到源码修剪—— “让游戏保持活力” Prune 是一个自动测试 Play Framework 性能的工具。 它会自动检查不同版本的 Play,针对这些版本编译应用程序,然后运行负载测试。 它将所有结果保存到 Git 存储库中的文件中...
接着,我们来看一下Android工程的基本目录结构。一个标准的Android项目通常包含以下几个关键部分: 1. `app`: 这是主模块,包含所有应用相关的代码和资源。 - `src`: 源代码目录,其中`main`是主要源代码,`java`...
接下来,让我们看看如何在Play Framework中使用ScalikeJDBC Play Support: 1. **依赖配置**:在你的`build.sbt`或`Build.scala`文件中,你需要添加ScalikeJDBC Play Support的依赖,通常会是类似这样的条目: ```...