Play Framework自定义Java扩展模板

时间:2013-08-06 13:50:47

标签: java playframework playframework-1.x

我正在使用Play Framework 1.2.5,并尝试使用DateTime中的Joda Time而不是通常的java.util.Date。我正在尝试实现一种格式方法,以便在我的视图中使用。

Play文档说我可以创建自己的custom java extensions以便在模板中使用,但它似乎对我不起作用。我按照文档中的示例无效。

我的自定义扩展程序:

package ext;

import org.joda.time.DateTime;
import play.templates.JavaExtensions;

public class DateTimeExtensions extends JavaExtensions {

    public static String format(DateTime datetime, String format) {
        return datetime==null ? "" : datetime.toString(format);
    }
}

我的模板代码:

${subProject?.startDate?.format('yyyy-MM-dd')}

我收到的错误:

  

引发的异常是MissingMethodException:没有方法签名:org.joda.time.DateTime.format()适用于参数类型:(java.lang.String)值:[yyyy-MM-dd]

看起来Play没有检测到我的自定义扩展程序,因为文档说它应该。有没有人对如何使这项工作有任何建议?

1 个答案:

答案 0 :(得分:2)

你的扩展课对我来说很好看。 documentation表示您必须重新启动应用程序才能使扩展程序变为活动状态。如果这不起作用,请尝试运行play clean。这样做会删除临时文件,包括缓存的字节码,这有望解决您的问题。