运行play
E:\technology-hqh\proj\play-framework>play
创建新项目
E:\technology-hqh\proj\play-framework>play new tasks
~ What is the application name? [tasks] Tasks
启动play
E:\technology-hqh\proj\play-framework>play run tasks
转换为eclipse工程项目
E:\technology-hqh\proj\play-framework>play eclipsify tasks
引入到Eclipse中,开始开发
=============================================================================
示例一、
修改tasks\app\views\Application\index.html
删除#{welcome /},改为"Hello World"
#{extends 'main.html' /} #{set title:'Home' /} Hello World
刷新页面
=============================================================================
示例二、
修改tasks\app\controllers\Application.java
package controllers; import play.*; import play.mvc.*; import java.util.*; import models.*; public class Application extends Controller { public static void index() { String name = "play! frame work"; render(name); } }
修改tasks\app\views\Application\index.html
#{extends 'main.html' /} #{set title:'Home' /} Hello ${name}
刷新页面
=============================================================================
示例三、
创建model
package models; import javax.persistence.Entity; import play.db.jpa.Model; @Entity public class Task extends Model { public String title; public boolean done; public Task(String title) { this.title = title; } }
修改tasks\app\views\Application\index.html
#{extends 'main.html' /} #{set title:'Home' /} #{ifnot tasks} <p> No tasks. </p> #{/ifnot} <ul> #{list items:tasks,as:'task'} <li> <input type="checkbox" id="${task.id}" ${task.done ? 'checked' : ''}> ${task.title} </li> #{/list} </ul>
设置database
# Database configuration # ~~~~~ # Enable a database engine if needed. # # To quickly set up a development database, use either: # - mem : for a transient in memory database (H2 in memory) # - fs : for a simple file written database (H2 file stored) db=mem
刷新页面
使用jQuery创建task
#{extends 'main.html' /} #{set title:'Home' /} #{ifnot tasks} <p> No tasks. </p> #{/ifnot} <ul> #{list items:tasks,as:'task'} <li> <input type="checkbox" id="${task.id}" ${task.done ? 'checked' : ''}> ${task.title} </li> #{/list} </ul> <p> <a id="createTask" href="#">Create a new task</a> </p> <script type="text/javascript" charset="utf-8"> //Create a task $("#createTask").click(function(){ $.post("@{createTask()}", {title: prompt("Task title ?")}); }); </script>
刷新页面
创建action
package controllers; import play.*; import play.mvc.*; import java.util.*; import models.*; public class Application extends Controller { public static void index() { List tasks = Task.find("order by id desc").fetch(); render(tasks); } //创建新的任务 public static void createTask(String title) { Task task = new Task(title).save(); renderJSON(task); } }
刷新页面,点击链接创建任务
刷新页面
进一步优化,使用jQuery的callback回调功能,在添加task后自动显示添加的内容
<script type="text/javascript" charset="utf-8"> //Create a task $("#createTask").click(function(){ $.post("@{createTask()}", {title: prompt("Task title ?")}, function(task){ $("ul").prepend( '<li><input type="checkbox" id="'+task.id+'"/>'+task.title+'</li>' ); },"json"); }); </script>
不用刷新页面即可显示新的内容
点击任务就实现与数据库的同步更新操作
继续使用jQuery开发
<script type="text/javascript" charset="utf-8"> //Create a task $("#createTask").click(function(){ $.post("@{createTask()}", {title: prompt("Task title ?")}, function(task){ $("ul").prepend( '<li><input type="checkbox" id="'+task.id+'"/>'+task.title+'</li>' ); },"json"); }); //Change status $(":checkbox").live("click",function(){ $.post("@{changeStatus()}", {id: $(this).attr("id"), done: $(this).val()}) }) </script>
Controller中增加新的action:changeStatus()
package controllers; import play.*; import play.mvc.*; import java.util.*; import models.*; public class Application extends Controller { public static void index() { List tasks = Task.find("order by id desc").fetch(); render(tasks); } //创建新的任务 public static void createTask(String title) { Task task = new Task(title).save(); renderJSON(task); } //页面点击checkbox框的动作,触发一个ajax请求 public static void changeStatus(Long id, boolean done) { Task task = Task.findById(id); task.done = done; //后台更新数据库 task.save(); //以json数据格式返回新对象 renderJSON(task); } }
相关推荐
努比亚play第三方TWRP-3.4.1B-fastboot模式刷写 完美测试 兼容多版本 需要其他第三方twrp的友友请私信 完美测试 兼容多版本 需要其他第三方twrp的友友请私信
play-google, Play-Google可以快速地搭建一台Google搜索服务器。
你懂得 PLAYBOY精选之经典玩伴女郎
play framework api,play! framework api,play api
提供几个web可以代替googleplay下载相关app
对于苹果用户来说,AirPlay一定是一项令人印象深刻的技术,可以实现苹果不同设备间的内容投放,例如,iPhone、iPad中的内容可以通过AirPlay在Mac的屏幕上投放出来,不仅可以增强个人的视觉体验,还十分有利于群体间...
android 开源播放器,AudioPlay 源码,可以快速运行对接版
carplay开发说明文档,汽车上用的carplay连接说明资料。
三星 play camera 三星 play camera 三星 play camera
timePlay.js
SUMMARYPlay for Java shows you how to build Java-based web applications using the Play 2 framework. The book starts by introducing Play through a comprehensive overview example. Then, you'll look at ...
Play framework 2.0入门教程(三)的源代码,Play留言板,详见http://blog.csdn.net/wfdztl521/article/details/8545838
酷比魔方iplay10pro第三方recovery-img文件
CarPlay Communication Plug-in
Apple CarPlay iap2的相关文档
airplay最新的版本了,内面包括airplay.c、airplay_parser.c、airplay_parser.h、plist_parse.c、airplay_parser_callback.c几个重要实现文件,苹果用的二进制文件是binplist,解析已经封装到plist_parse.c里面,新测...
Carplay specification
mp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rarmp3play.rar
1. Play Framework 介绍 2. 创建和发布 Play 应用 2.1 创建 Play 的工程 2.2 Play 常用指令 2.3 Play 应用的 JVM 调优 3. 如何读取静态资源 4. Play框架的配置文件 5. 使用 Play 框架开发 Java 应用 5.1 HTTP...
airplay 集成文档, 快速集成,用于展示airplay按钮等