运行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_button: 以mdlaunch生成的幻灯片形式查看此自述文件! mdlaunch可以从任何现有的markdown文件中快速创建HTML幻灯片,而无需进行更改。 因此,您可以从现有笔记/ Wiki / etc中整理演示文稿。 它在后台使用...
在Play中使用多个数据库可以帮助我们实现数据的分片、隔离不同服务的数据存储,或者实现读写分离等高级架构模式。 在"play-multipledb"项目中,我们可以看到如何配置和管理多个数据库连接。在Scala中,这通常涉及到...
它可以用于制作各种商务报告、提案或会议演示,帮助用户快速构建专业且有吸引力的幻灯片。 6. **版权信息** 文件中的"Copyright @2014 XXXXXX All Rights Reserved"表明了版权归属,提醒用户在使用模板时需尊重...
10. Fast Time and Video Play: 这可能涉及到时间管理和视频集成的元素,用户可以利用模板快速创建时间敏感的演示,并嵌入视频内容以增强视觉效果和信息传达。 11. Cinema: 可能是指模板中包含电影或多媒体元素的...
通过向左和向右滑动从SONY SMARTWATCH 2/3控制OfficeSuite中的演示文稿在幻灯片之间移动。 使用SONY SMARTBAND管理OfficeSuite演示文稿。 SMARTBAND TALK:使用音量增大/减小来更改幻灯片,点击触摸屏以显示动画。...
出的“Slideshow Option”(幻灯演示选项)窗口可以设置“Slide Size”(幻灯尺寸,即屏幕分辨率)、“Auto Play”(自动播放的时间间隔)、“Random”(随机播放)、“Loop”(循环播放)、“Stretch Small Images”(即小于...
通过向左和向右滑动,可以从SONY SMARTWATCH 2/3控制OfficeSuite中的演示文稿在幻灯片之间移动。 使用SONY SMARTBAND管理OfficeSuite演示文稿。 SMARTBAND TALK:使用上下音量更改幻灯片,点击触摸屏上的以显示...
- 在KMPlayer中,你可以通过Alt+J键快速查看音乐的播放时间(PlayTime),而在Windows Media Player中,你可以通过“文件属性”查看音乐时长。 3. **添加滚动字幕**: - 在最后一张幻灯片上创建文本框并输入文字...
演示文稿幻灯片位于文件Android.pptx中的“实现推送通知”中。 克隆此存储库后,请使用以下步骤导入,构建和运行该项目。 注意:必须在您的设备或仿真器中安装Google Play服务才能运行此项目。 有关其他详细信息,...
Flutter是由Google推出的,旨在提供高效、快速的移动应用开发解决方案,支持iOS和Android平台。它以其Dart编程语言、丰富的组件库以及热重载功能而受到开发者们的喜爱。 **1. Flutter基础知识** Flutter基于Dart...
24. 创建新演示文稿:最快的方式是使用演示文稿内容提示向导,它引导用户快速构建幻灯片结构。 25. 中国公用互联网:简称为ChinaNET,是中国的主干互联网之一。 26. 局域网数据传输速率:通常在10Mbps至1000Mbps...
这款模板以其独特的设计风格展现了欧美流行趋势,融合了现代美学和实用功能,旨在帮助用户快速制作出高质量的PPT。 在【标题】中,"YOUR TITLE HERE"的部分是留给用户自定义的地方,可以根据实际演示的主题进行替换...
- PPT作为英语教学的重要辅助工具之一,能够直观地向学生展示学习内容,帮助学生更好地理解和掌握知识。 2. **情境创设**: - 通过PPT中的图片、动画等形式,教师可以创建接近真实生活的情境,比如本例中的游乐园...
2. **布局设计**:模板中的"YOUR TITLE HERE"部分提示了设计者应根据实际内容自定义标题,确保每个幻灯片都清晰地传达主题。合理布局有助于组织信息,使观众能快速理解每页的重点。 3. **视觉层次**:通过使用不同...
此外,iOS系统还支持AirPlay功能,允许你通过Apple TV或其他支持AirPlay的设备将iPhone上的图片无线投屏到大屏幕上。这对于家庭聚会或演示来说非常实用。 为了保护隐私,iPhone还提供了面部识别和密码保护功能。...
在探讨“iPhone HDMI”的主题时,我们涉及到的是如何将iPhone设备与HDMI接口的显示器、电视或其他外设进行连接,以便于用户可以在更大的屏幕上观看视频、演示幻灯片或玩游戏等。这一技术不仅提升了用户体验,还为...
该软件特别适合制作PPT汇报的视频,用户可以在演示文稿的过程中进行录制,将讲解内容与幻灯片演示同步保存为视频,方便后期回放和分享。屏幕录像专家的操作界面可能初次接触时会显得稍显复杂,但深入学习后,你会...
- 与Play Framework相比,Finch更专注于API的构建,而Play则更适合构建完整的Web应用。 - 相比Akka HTTP,Finch提供了一种更加函数式的编程模型,对于函数式编程爱好者来说,它提供了更好的体验。 4. **代码示例*...
在演示中,课程由多个HTML和CSS定义的幻灯片组成,使用JavaScript进行导航和动画效果。此外,还包含一个弹出窗口的术语词汇表,该词汇表加载XML文件以提供动态内容。这展示了Web技术如何与服务器端技术(如Apache和...
3. Consolidation Application(巩固应用):包括快速反应游戏、想做就做和传盒子游戏等互动活动,强化动词短语的记忆和发音,提高学生的反应速度和口语表达能力。 4. Let’s play(趣味操练):通过类似的情境游戏...