這篇文章將為大家詳細(xì)講解有關(guān)可以用Play做哪些很酷的事,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、大新網(wǎng)站維護(hù)、網(wǎng)站推廣。
綁定 HTTP 參數(shù)到 JAVA 方法參數(shù)
用 Play 框架,在 Java 代碼中獲取 HTTP 請求參數(shù)是非常簡單的,只需要聲明方法的參數(shù)名和 HTTP 請求的參數(shù)名一樣就可以了。
例如,這個請求:
/articles/archive?date=08/01/08&page=2
把 date 和 page 聲明為 Java 方法的傳入?yún)?shù),就可以獲取 HTTP 請求中 date 和 page 參數(shù)的值了:
public static void archive(Date date, Integer page) { Listarticles = Articles.fromArchive(date, page); render(articles); }
Play 框架會根據(jù)聲明的 Java 參數(shù)類型,自動把 HTTP 請求參數(shù)轉(zhuǎn)換成對應(yīng)的 Java 對象。
這種自動綁定也適用于 任何的 Java 對象 。
public class Person { public String name; public Integer age; }
一個簡單的用于添加用戶的控制器的 action 方法可以像這樣:
public static void add(Person p) { p.save(); }
對應(yīng)的 HTML 表單域使用復(fù)合的參數(shù)名:
通過調(diào)用對應(yīng)的 Java 方法進(jìn)行重定向
Play 沒有等價于 Java Servlet forward 命令的方法,但是實現(xiàn)重定向確實非常簡單。只需調(diào)用相應(yīng)的 Java 方法,Play 就會自動生成正確的重定向( HTTP Redirect )響應(yīng)給客戶端。
public static void show(Long id) { Article article = Article.findById(id); render(article); } public static void edit(Long id, String title) { Article article = Article.findById(id); article.title = title; article.save(); show(id); }
注意在 edit 方法的***,是如何使我們重定向到 show 方法對應(yīng)的頁面的。
在任何模板文件中,你可以利用同樣的語法生成鏈接:
${article.title}
將會生成以下 HTML 內(nèi)容:
My new article
不要重復(fù)地將 Java 對象傳遞到模板文件
在大多數(shù)的 Java 框架中,為了把 Java 對象傳遞到模板文件,通常你需要類似這樣寫:
Article article = Article.findById(id); User user = User.getConnected(); Mapmodel = new HashMap (); model.put("article", article); model.put("user", user); render(model);
使用 Play,你只須這樣寫:
Article article = Article.findById(id); User user = User.getConnected(); render(article, user);
然后你就可以從模板中獲取相應(yīng)的 Java 變量。這樣剩下了不少重復(fù)無用的代碼…
JPA 持久化
JPA 無疑是目前 Java 領(lǐng)域***的對象關(guān)系映射框架( ORM )。如果你熟悉 JPA,你會驚訝于它在 Play 框架中變得如此簡單。不需要任何配置,Play 會自動啟動 JPA 實體管理器,并在代碼發(fā)生修改時自動地同步。
而且如果你使用 Play 提供的 play.db.jpa.Model 作為超類時,它會幫助你把代碼寫得更漂亮。來看一下:
public void messages(int page) { User connectedUser = User.find("byEmail", connected()).first(); Listmessages = Message.find( "user = ? and read = false order by date desc", connectedUser ).from(page * 10).fetch(10); render(connectedUser, messages); }
簡單易用的文件上傳管理
在 Play 框架里文件上傳管理非常簡單。
以下 HTML 表單:
#{form @uploadPhoto(), enctype:'multipart/form-data'} #{/}
和這段 Java 代碼:
public static void uploadPhoto(String title, File photo) { ... }
就完成了! 再簡單不過了吧?
關(guān)于可以用Play做哪些很酷的事就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。