Play Framework 第一个应用

熟悉的Hello World

新创建一个工程,了解下重要文件的结构

.\app

controllers\models\views

目前比较流行的MVC架构

.\conf

application.conf   工程配置,包括数据库连接等

routes       路由配置,用于解析URL

找到.\app\views\application\index.html

修改页面内容,添加一个输入框和一个按钮

#{extends ‘main.html‘ /}
#{set title:‘Home‘ /}

<form action="@{Application.sayHello()}" method="Get">
    <input type="text" name="myName" />
    <input type="submit" value="Say Hello" />
</form>

#{extends ‘main.html‘ /}  表示页面继承自 main.html

#{set title:‘Home‘ /}     设置页面标题

运行程序,进入页面 localhost:9000, 会提示错误,No route able to invoke action Application.sayHello was found

在Application.java中添加sayHello方法

public static void sayHello(String myName) {
        render(myName);
}

添加sayHello页面,在.\app\views\application 下添加sayHello.html

#{extends ‘main.html‘ /}
#{set title:‘Home‘ /}

<h1>Hello ${myName?: ‘guest‘}!</h1>
<a href="@{Application.index()}">Back to form</a>

运行效果如下:

对URL进行优化 http://localhost:9000/application/sayhello?myName=Alex

配置路由 .\conf\routes

在 * /{controller}/{action} {controller}.{action} 后添加:

GET     /hello                                    Application.sayHello

可以使用新的URL访问页面  http://localhost:9000/hello?myName=Alex

自定义Layout

Layout是所有页面的公共部分,修改.\app\views\main.html

<body>
        Hello World APP
        <hr />

        #{doLayout /}
</body>
#{doLayout /}   会替换sayHello.html中的内容

添加验证

修改sayHello方法

import play.data.validation.Required;

public static void sayHello(@Required String myName) {
        if(validation.hasErrors())
        {
            flash.error("Oops, please enter your name!");
            index();
        }
        render(myName);
}

修改index.html,添加以下代码

#{if flash.error}
    <p style="color:#c00">
        ${flash.error}
    </p>
#{/if}

。。

  

时间: 2024-10-28 10:37:13

Play Framework 第一个应用的相关文章

Robot Framework 第一个脚本

robot Framework环境搭建好之后先来一个简单的脚本跑一下 一.新建项目 二.新建测试套件  三.创建测试用例 四.导入Selenium2Library库 因为RF框架编写基于web 的测试用例,所以,我们需要selenium 的库支持.所以,我们在使用的过程中需要加载selenium2library库. 在"测试套件"的Edit标签页,点击"Library"按钮,弹出输入框,Name输入:Selenium2Library ,点击OK 完.如果导入的库显示

Entity Framework 第一篇

这段时间研究了orm框架EF 写一写研究的历程和心得 先贴上核心代码 public interface ITransaction { bool IsTransaction { get;} void BeginTransaction(); int Commit(); void Rollback(); } public class BaseRepository : ITransaction, IDisposable { private XFDbContext dbContext; /// <summ

zend framework框架学习走起——从零开始,点击记录-安装

zend framework第一步,先来安装下zend framework框架. 先介绍下,我这边的php配置环境,为图省事,我是安装wampserver来搭载php环境的,,php+Apache+mysql一下子全部搞定.所以我们的zendframwok框架安装所在文件夹就是在wampserver的www文件夹下. 我们要先去下载下来zend framework框架. 进入zend framework官网,你可以直接下载zend framework框架,也可以和我一样,选择composer方式

iOS封装功能生成 .framework

前言 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中. 另一种方法是将你的代码编译成静态库(library),让其他开发者添加到自己的项目中.然而,这需要你一并公布所有的公开的头文件,实在是非常不方便. 你需要一种简单的方法来编译你的代码,这种方法应该使得你的代码易分享,并且在多个工程中易复用

.NET Framework 版本功能变化

作为一个.net的programer,我们常使用的VS,在创建项目时候,除了特定情况:比如要使用Linq,WCF,WPF,我们一般情况下都没特意的要求用哪个.net framework.那么他们每个版本区别在哪呢?我们是否应该每次都用最新的版本呢?且看: .NET Framework 1.0 不是真正意义的.net framework:发布日期:2002年2月13日,仅包含CLR和基类库的第一个版本 .NET Framework 1.1 .NET Framework 第一个主要版本.(自1.0版

iOS开发——创建你自己的Framework

http://www.cocoachina.com/ios/20150127/11022.html (原文:How to Create a Framework for iOS 作者:Sam Davies 译者:Mr_cyz ) 在上一篇教程(中译版)中,你学到了怎么样创建一个可复用的圆形旋钮控件.然而你可能不清楚怎样让其他开发者更方便地去复用它. 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此

.NET Framework各版本比较

导读:一直以来,众多学校教学以及公司开发环境所使用Visual Studio .NET Framework版本多不相同,本文作者比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework. 版本号 发布日期 Visual Studio的版本 Windows上的默认情况 CLR版本 发行版的特点 1.0 2002年2月13日 Visual Studio .NET NA 1.0 CLR和基类库的第一个版本 1.1 2003年4月24日 Visual Stud

【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错

原文网址:http://www.cnblogs.com/astwish/articles/3548844.html 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举.比如我们看下片看,许多大片都是由字幕组免费翻译压制的.为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧! 如何贡献

不使用Visual Studio开发ASP.NET MVC应用(下篇)

书接上回! 前文“纯手工”.彻底抛弃Visual Studio,制作了一个ASP.NET MVC应用,运行起来还不错,项目目录.源代码.web.config等所有东西都已经做到“最简”,除去了Visual Studio生成的一大堆无关东西,当然这只是一个“起点”,随着后面项目内容和功能的扩展还需要一步步添加很多东西,但如此干净一个项目,看着就让人舒服,一砖一瓦的盖自己的房子,何尝不是一种享受!(其实很多人不认同这样,在stackoverflow原文中,问题解答者用"severe brain da