`

来看看 Play 框架是怎么工作的 ?

阅读更多
来看看 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框架 Play Framework框架是一种基于Java的软件框架,旨在提高开发效率和提供REST式的架构风格。...Play Framework框架的未来看起来非常光明,该框架正在不断地发展和改进,提供了更多的功能和特性。

    play,play framework资料大全

    首先,我们来看《Play详细使用文档.doc》。这份文档通常会涵盖Play Framework的基本概念、安装步骤、项目结构、路由配置、模板引擎、控制器、模型、数据库集成、测试以及部署等核心内容。通过阅读这份文档,开发者...

    play-java-jdbc_2.10-2.4.0-RC3.zip

    Twirl支持多种模板语言,包括Scala和Java,并且能够无缝集成到Play框架的工作流程中。 标签 "开源项目" 指出这个压缩包中的内容是开放源代码的,这意味着任何人都可以查看、使用、修改和分发这些代码,这通常是通过...

    Java框架教程

    再来看MyBatis,一个轻量级的ORM框架。与Hibernate不同,MyBatis允许开发者更自由地编写SQL,同时保持了简单易用的特点。它将SQL语句与Java代码分离,以XML配置文件或注解的形式定义,提供动态SQL功能,适合那些需要...

    使用 JDK8 的 JavaScript 引擎在 Play 框架中渲染 React 组件

    Play 框架是一个在 JVM 上运行的 Web 框架。结合这些功能,Play 可以使用发送到客户端的相同 JavaScript 在服务器上呈现其模板。 尝试一下: 为您的平台安装 JDK8 克隆这个存储库 按照说明安装并开始使用 Play 2.3.x...

    编程框架(1).pdf

    - 理解Play框架:对Play Framework的原理和设计理念进行解释。 - Play2.6异步:可能讲述的是在Play Framework 2.6版本中,异步处理的实现和使用方式。 ***ty: - Netty框架及原理解析:深入探讨Netty框架的内部...

    play-siren:siren-scala 和 Play 框架的集成库

    Play框架的特色之一是其模型-视图-控制器(MVC)架构模式,这使得业务逻辑、数据呈现和用户界面可以清晰地分离。同时,Play也集成了对Scala语言的深度支持,使其成为构建Scala Web应用的理想选择。 将`siren-scala`...

    play-pac4j:Java和Scala中Play框架2的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    play-pac4j项目是Play框架v2 Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持注销和CSRF保护等高级功能。 它可以与Deadbolt一起使用。 它基于Play 2.8(Scala v2.12或v2.13)和v5 。 它...

    mpeg_play_Vc_play_

    从“标签”"Vc play"来看,这可能是指使用Visual C++进行视频播放的实现,可能涵盖了DirectShow、MFC(Microsoft Foundation Classes)或者其他视频解码和播放的相关技术。DirectShow是微软提供的一个多媒体框架,...

    Duilib进阶代码示例 XMP 仿迅雷看看播放器 完整代码

    在仿迅雷看看播放器中,我们可以看到使用了诸如Play/Pause按钮、进度条、时间显示等控件,每个控件都需要绑定相应的事件处理函数来实现功能。 2. **布局管理**:Duilib支持多种布局方式,如绝对布局、相对布局等,...

    apks for google play store installation for android

    通常,先安装Google服务框架,接着是Google Play服务,最后是Google Play商店。安装完成后,重启设备,你就可以在你的Android设备上使用Google Play商店来获取各种应用和游戏了。 请注意,这些APK文件是从第三方...

    java8看不到源码-play-refined:用于在Play框架中使用精炼类型的集成库

    看不到源码玩精 Play-refined 是一个小型 Scala 库,可以使用 Lightbend 的 它允许您在 Play 中轻松使用精炼类型。 支持 Scala 2.11、2.12、2.13 和 Play 2.5、2.6、2.7 和 2.8。 您还需要使用 Java8 或更高版本。 ...

    swift-基于IJKPlayer框架的iOS播放器

    在iOS应用开发中,视频播放是一个常见的需求,而Swift作为苹果官方推荐的编程语言,有着丰富的库和框架来支持这一功能。本项目“swift-基于IJKPlayer框架的iOS播放器”就是一个很好的示例,它利用了IJKPlayer这个...

    play-framework-blob:如何使用java play框架上传加载文件(例如图像),将文件存储为BLOB

    游戏框架blob 我最近遇到了使用 java play 框架(版本 2.3.x)将图像上传和存储为 BLOB 的问题。 在字节数组中上传和铲除数据是小菜一碟,但乍一看,将数据重新放入图像标签并不是那么简单。 互联网研究告诉我,我...

    Android Google音乐播放器_Google_Play_Music_5.5源码

    再来看看`org`目录,这通常用于第三方库或开源项目。在Google Play Music的源码中,`org`可能包含了如网络请求库(如Volley或OkHttp)、解析库(如Gson或Jackson)以及一些开源的音频处理库。这些库为应用提供了强大...

    Struts应用开发框架

    尽管现代有许多其他框架如Spring MVC、Play Framework等,但Struts仍然是理解Web应用框架原理的一个重要参考。学习Struts有助于理解MVC模式以及Web应用的架构设计。通过练习配置文件、Action和ActionForm的编写,...

    初识Java EE经典MVC框架Struts.rar

    接下来,我们来看看Struts框架的几个关键组件: - **ActionServlet**:这是Struts框架的入口点,它是一个扩展了Servlet的类,负责拦截HTTP请求并分发到相应的Action。 - **ActionMapping**:它定义了Action与URL...

    java8看不到源码-prune:Play框架的性能测试工具

    看不到源码修剪—— “让游戏保持活力” Prune 是一个自动测试 Play Framework 性能的工具。 它会自动检查不同版本的 Play,针对这些版本编译应用程序,然后运行负载测试。 它将所有结果保存到 Git 存储库中的文件中...

    android工程基本框架

    接着,我们来看一下Android工程的基本目录结构。一个标准的Android项目通常包含以下几个关键部分: 1. `app`: 这是主模块,包含所有应用相关的代码和资源。 - `src`: 源代码目录,其中`main`是主要源代码,`java`...

    scalikejdbc-play-support:播放框架支持

    接下来,让我们看看如何在Play Framework中使用ScalikeJDBC Play Support: 1. **依赖配置**:在你的`build.sbt`或`Build.scala`文件中,你需要添加ScalikeJDBC Play Support的依赖,通常会是类似这样的条目: ```...

Global site tag (gtag.js) - Google Analytics