java – 自定义枚举的QueryStringBindable

前端之家收集整理的这篇文章主要介绍了java – 自定义枚举的QueryStringBindable前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经定义了一个实现QueryStringBindable的枚举类型Format.我想我已经正确实现了它,但在我的路由文件中,我不能将我的类型指定为路由参数,因为编译器找不到它,我不知道如何将它导入路由文件.

这是枚举:

package web;

import java.util.Map;

import play.libs.F;
import play.mvc.QueryStringBindable;

public enum Format implements QueryStringBindable添加类型的路径,如其他帖子中所推荐的那样:

val main = PlayProject(appName,appVersion,appDependencies,mainLang = JAVA).settings(
  routesImport += "web.Format",resolvers += Resolver.url("My GitHub Play Repository",url("http://www.joergviola.de/releases/"))(Resolver.ivyStylePatterns)
)

我改变了它并重新启动了我的服务器,但似乎没有任何区别.

最佳答案
我有同样的问题,我终于发现它不能解决.

通过阅读PathBindable和QueryStringBindable的文档,我发现play框架需要Bindable提供No Argument公共构造函数.根据定义,Java中的枚举是不可能的.

我想给你提供另一个(最近的)问题的解决方案.
我只是将枚举包装到一个实现QueryStringBindable或PathBindable的小型Wrapper类中.

play framework – bind enum in routes

猜你在找的Java相关文章