2011-05-29 67 views
1

我很抱歉,如果這是一個愚蠢的問題,但我找不到任何有關這方面的信息。在Play中使用普通的JSP標籤

我想在我的應用程序視圖中使用JSP標記(不播放'標記') - 具體而言,用於格式化的Joda Time JSP tags

我不能解決如何調用這些標籤 - 在JSP中,我只需導入taglib,然後離開。

<%@taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %> 

我錯過了一件簡單的事 - 我該如何在播放視圖定義中做到這一點?目前我的taglib調用呈現爲HTML。我知道Play的視圖是基於Groovy的 - 我也嘗試過在那裏找到相關信息,但都沒有成功。

謝謝。

編輯對於什麼是值得我開始懷疑我非常這裏誤解的情況 - 我是糾正我的假設,即播放模板引擎具有什麼做JSP,是一種替代而不是擴展?

回答

6

的確,您不能使用JSP標籤。 Play框架使用(默認情況下,雖然有替代模塊可以替代渲染引擎),但Groovy模板引擎用於創建視圖。正是這些視圖負責模板和您將創建的大多數標籤。

還有FastTags的概念,它可能是您揭示JSP標籤庫中找到的JodaTime功能的最簡單方法。如何建立FastTags一個很好的例子可以在這裏找到...

Can someone explain how to use FastTags

但是,如果你正在嘗試做的是整齊的日期格式,那麼你應該看看在JavaExtensions日期格式。 http://www.playframework.org/documentation/1.2.1/javaextensions#date。對日期進行格式非常簡單,如下(假設你的日期傳遞到您的視圖mydate你的代碼應該是一樣簡單。

${mydate.format('dd MMMM yyyy hh:mm:ss')} 

你甚至可以創建自己的JavaExtensions在個內置播放不提供你需要的所有東西

最後,理解Play不是Java EE很重要,Play有它自己的棧,它自己的一套規則和它自己的一套技術。將自己與Java EE工具分離開來,但幾乎可以肯定地發現Play方法可以爲您節省時間和精力。

3

是的,你是對的。播放模板基於Groovy。這就是爲什麼語法與jsp標籤完全不同的原因。因此,我不認爲有可能使用jsp或用Jsp系統替換groovy系統。