当前(在Play 2.0中),Java活页夹仅适用于自递归类型。也就是说,类型如下所示:
class Foo extends QueryStringBindable<Foo> { …}
因此,如果要为
java.lang.DoubleJava的现有类型定义活页夹,则需要将其包装为自递归类型。例如:
package util;public class DoubleW implements QueryStringBindable<DoubleW> { public Double value = null; @Override public Option<DoubleW> bind(String key, Map<String, String[]> data) { String[] vs = data.get(key); if (vs != null && vs.length > 0) { String v = vs[0]; value = Double.parseDouble(v); return F.Some(this); } return F.None(); } @Override public String unbind(String key) { return key + "=" + value; } @Override public String javascriptUnbind() { return value.toString(); }}
然后,可以在应用程序中按以下方式使用它:
GET /foo controllers.Application.action(d: util.DoubleW)public static Result action(DoubleW d) { …}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)