将 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> eClassgetAsInteger(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);