成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Play可以做的5件很酷的事

開發 后端
通過5個實例,透視 Play 框架背后的哲學。

綁定 HTTP 參數到 JAVA 方法參數

用 Play 框架,在 Java 代碼中獲取 HTTP 請求參數是非常簡單的,只需要聲明方法的參數名和 HTTP 請求的參數名一樣就可以了。

例如,這個請求:

  1. /articles/archive?date=08/01/08&page=2 

把 date 和 page 聲明為 Java 方法的傳入參數,就可以獲取 HTTP 請求中 date 和 page 參數的值了:

  1. public static void archive(Date date, Integer page) {  
  2.     List<Article> articles = Articles.fromArchive(date, page);  
  3.     render(articles);  

Play 框架會根據聲明的 Java 參數類型,自動把 HTTP 請求參數轉換成對應的 Java 對象。

這種自動綁定也適用于 任何的 Java 對象 。

  1. public class Person {  
  2.     public String name;  
  3.     public Integer age;  

一個簡單的用于添加用戶的控制器的 action 方法可以像這樣:

  1. public static void add(Person p) {  
  2.     p.save();  

對應的 HTML 表單域使用復合的參數名:

  1. <form action="/Directory/add" method="POST">  
  2.     Name: <input type="text" name="p.name" />  
  3.     Age: <input type="text" name="p.age" />  
  4. </form> 

通過調用對應的 Java 方法進行重定向

Play 沒有等價于 Java Servlet forward 命令的方法,但是實現重定向確實非常簡單。只需調用相應的 Java 方法,Play 就會自動生成正確的重定向( HTTP Redirect )響應給客戶端。

  1. public static void show(Long id) {  
  2.     Article article = Article.findById(id);  
  3.     render(article);  
  4. }  
  5.    
  6. public static void edit(Long id, String title) {  
  7.     Article article = Article.findById(id);  
  8.     article.title = title;  
  9.     article.save();  
  10.     show(id);  

注意在 edit 方法的***,是如何使我們重定向到 show 方法對應的頁面的。

在任何模板文件中,你可以利用同樣的語法生成鏈接:

  1. <a href="@{Article.show(article.id)}">${article.title}</a> 

將會生成以下 HTML 內容:

  1. <a href="/articles/15">My new article</a> 

不要重復地將 Java 對象傳遞到模板文件

在大多數的 Java 框架中,為了把 Java 對象傳遞到模板文件,通常你需要類似這樣寫:

  1. Article article = Article.findById(id);  
  2. User user = User.getConnected();  
  3. Map<String, Object> model = new HashMap<String,Object>();  
  4. model.put("article", article);  
  5. model.put("user", user);  
  6. render(model); 

使用 Play,你只須這樣寫:

  1. Article article = Article.findById(id);  
  2. User user = User.getConnected();  
  3. render(article, user); 

然后你就可以從模板中獲取相應的 Java 變量。這樣剩下了不少重復無用的代碼…

JPA 持久化

JPA 無疑是目前 Java 領域***的對象關系映射框架( ORM )。如果你熟悉 JPA,你會驚訝于它在 Play 框架中變得如此簡單。不需要任何配置,Play 會自動啟動 JPA 實體管理器,并在代碼發生修改時自動地同步。

而且如果你使用 Play 提供的 play.db.jpa.Model 作為超類時,它會幫助你把代碼寫得更漂亮。來看一下:

  1. public void messages(int page) {  
  2.     User connectedUser = User.find("byEmail", connected()).first();  
  3.     List<Message> messages = Message.find(  
  4.         "user = ? and read = false order by date desc",  
  5.         connectedUser  
  6.     ).from(page * 10).fetch(10);  
  7.     render(connectedUser, messages);  

簡單易用的文件上傳管理

在 Play 框架里文件上傳管理非常簡單。

以下 HTML 表單:

  1. #{form @uploadPhoto(), enctype:'multipart/form-data'}  
  2.     <input type="text" name="title" />  
  3.     <input type="file" id="photo" name="photo" />  
  4.     <input type="submit" value="Send it..." />  
  5. #{/} 

和這段 Java 代碼:

  1. public static void uploadPhoto(String title, File photo) {  
  2.    ...  

就完成了! 再簡單不過了吧?

原文鏈接:http://play-framework.herokuapp.com/zh/5things

【編輯推薦】

  1. Play Framework hotswap及源碼分析
  2. Play Framework總結性介紹
  3. Play Framework 2.0 RC1發布 Java Web框架
  4. Java容器類分析之List ArrayList Vector
  5. 有可能挑戰Java優勢的四種技術
責任編輯:林師授 來源: Playframework中文小站
相關推薦

2020-05-07 10:26:17

備份文件存儲備份

2015-04-17 09:27:04

程序員

2022-05-13 09:00:00

企業初創公司技術債務

2022-04-19 07:48:16

JavascriptCSS

2020-04-16 09:35:43

機器學習技術人工智能

2021-12-16 10:42:53

蘋果備忘錄應用程序

2011-05-20 08:53:07

HTML 5

2022-05-10 10:39:51

初創企業技術債務

2020-06-04 11:49:46

JavaScript開發代碼

2013-11-08 10:42:31

Ubuntu 13.1

2011-04-27 09:22:44

Ubuntu 11.0

2023-05-08 19:32:56

2015-11-23 09:50:17

大數據

2021-08-03 10:40:47

混合云云計算應用程序

2009-03-10 10:01:00

802.11n無線APDARPA

2020-11-04 07:36:06

Redis二進制數據庫

2024-05-31 08:00:59

2013-07-11 10:07:46

Fedora 19

2020-03-11 11:04:41

冠狀病毒技術企業

2011-04-02 13:11:35

JARJava
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99国产精品99久久久久久 | 啪啪免费网 | 美女久久久久 | 午夜在线小视频 | 日韩国产一区二区 | 欧美一区日韩一区 | 黄色大片视频 | 97精品超碰一区二区三区 | 亚洲午夜精品视频 | av日韩一区 | 日韩中出 | 成人免费视频 | 一区二区三区四区在线 | 国产成人精品一区二区三区网站观看 | 91精品久久久 | 国产视频福利 | 亚洲高清视频在线 | 国产亚洲欧美另类一区二区三区 | 99福利视频导航 | 成人av影院 | 毛片av免费在线观看 | 美日韩免费 | 日一日操一操 | 日韩国产高清在线观看 | 国产高清在线 | 欧美激情综合 | 亚洲综合字幕 | 国产成人精品免费视频 | 一级特黄视频 | 精品在线一区二区三区 | 国产在线精品一区二区三区 | 国产成人av免费看 | 久久成人一区 | 日韩欧美在线精品 | 亚洲一区二区三区欧美 | 一区视频在线免费观看 | 亚洲精品久久久久久一区二区 | 成人性生交大免费 | 亚洲成人一区二区 | 国产在线一区二 | av毛片在线播放 |