将 wicket 1.4 迁移到 1.5 - PageParameters.getAsEnum()
Migrating wicket 1.4 to 1.5 - PageParameters.getAsEnum()
在 wicket 1.4 中,PageParameters 具有 getAsEnum(String key, Class<T> eClass
、getAsInteger(String key, int defaultValue)
等方法
官方迁移指南中有这个提示
org.apache.wicket.PageParameters.getInt(String) - org.apache.wicket.request.mapper.parameter.PageParameters.get(String).toInt()
这解释了如果我们只提供字符串参数如何获取 Int、Long 等,但我该如何重构这样的东西?
params.getAsEnum("mode", PageMode.DISPLAY);
编辑:我忘记了您可以在 StringValue 上调用 .toEnum()。抱歉弄乱了。
我知道有几种方法可以做到这一点:
// two interchangeable calls, first is more generic
getPageParameters().get("mode").to(PageMode.class);
getPageParameters().get("mode").toEnum(PageMode.class);
// if you would like to have a PageMode.DISPLAY as default
getPageParameters().get("mode").toEnum(PageMode.DISPLAY);
在 wicket 1.4 中,PageParameters 具有 getAsEnum(String key, Class<T> eClass
、getAsInteger(String key, int defaultValue)
官方迁移指南中有这个提示
org.apache.wicket.PageParameters.getInt(String) - org.apache.wicket.request.mapper.parameter.PageParameters.get(String).toInt()
这解释了如果我们只提供字符串参数如何获取 Int、Long 等,但我该如何重构这样的东西?
params.getAsEnum("mode", PageMode.DISPLAY);
编辑:我忘记了您可以在 StringValue 上调用 .toEnum()。抱歉弄乱了。
我知道有几种方法可以做到这一点:
// two interchangeable calls, first is more generic
getPageParameters().get("mode").to(PageMode.class);
getPageParameters().get("mode").toEnum(PageMode.class);
// if you would like to have a PageMode.DISPLAY as default
getPageParameters().get("mode").toEnum(PageMode.DISPLAY);