问题描述
|
我很抱歉,如果这是一个愚蠢的问题,但是我找不到关于此的任何信息。
我想在我的应用程序视图中使用JSP标记(而不播放\'tags \')-具体来说,是出于格式化目的的Joda Time JSP标记。
我不知道如何调用这些标签-在JSP中,我只需要导入taglib,然后我就离开了。
<%@taglib prefix=\"joda\" uri=\"http://www.joda.org/joda/time/tags\" %>
我是否错过了一些简单的事情-如何在“播放”视图定义中做到这一点?目前,我的taglib调用已呈现为HTML。我了解Play的视图资料是基于Groovy的-我也曾尝试在该处查找相关信息,但没有成功。
谢谢。
编辑对于它的价值,我开始怀疑我对这里的情况有很大的误解-我以Play模板引擎与JSP无关的假设为前提,这是正确的吗?扩展?
解决方法
实际上,您不能使用JSP标记。 Play框架使用Groovy模板引擎(默认情况下,尽管有替代模块可以替代渲染引擎),但它们使用视图模板创建视图。这些视图既负责模板,也负责您将要创建的大多数标签。
还有FastTag的概念,这可能是公开JSP标记库中的JodaTime功能的最简单方法。有关如何构建FastTag的一个很好的例子可以在这里找到。
有人可以解释如何使用FastTags
但是,如果您要做的只是整齐地格式化日期,那么您应该看看JavaExtensions来进行日期格式化。 http://www.playframework.org/documentation/1.2.1/javaextensions#date。要格式化日期真的很简单,您的代码应如下所示(假设日期以date1ѭ的形式传递到视图中)。
${mydate.format(\'dd MMMM yyyy hh:mm:ss\')}
如果Play内置的JavaExtensions无法满足您的所有需求,您甚至可以创建自己的JavaExtensions。
最后,重要的一点是要了解Play不是Java EE。 Play具有自己的堆栈,自己的规则集和自己的技术集。首先可能很难将自己与Java EE工具分开,但是几乎可以肯定的是,Play方法可以节省您的时间和精力。
, 你是对的。播放模板基于Groovy。这就是为什么语法与jsp标记完全不同的原因。因此,我认为不可能使用jsp或用Jsp系统替换常规的系统。