相关疑难解决方法(0)

如何使用Play 2.0路由绑定Double参数

我正在学习自己玩2.0(使用的Java API),并希望有一个双/浮点参数(位置坐标),像http://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253.

我可以通过将参数作为String并在控制器等处解析它来做到这一点,但我可以在这里使用自动绑定吗?

现在,我首先尝试简单地使用一个double值:

GET     /events/foo                 controllers.Application.foo(doublevalue: Double)
Run Code Online (Sandbox Code Playgroud)

public static Result foo(Double doublevalue) {
    return ok(index.render("Foo:" + doublevalue));
}
Run Code Online (Sandbox Code Playgroud)

我得到的是"找不到类型为Double的QueryString绑定器.尝试为此类型实现隐式QueryStringBindable."

我是否遗漏了已经提供的内容,或者我是否需要创建一个解析Double的自定义QueryStringBindable?

我发现在做Scala的自定义字符串查询字符串粘结剂一些指令http://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play -2 /

我尝试了什么:

我在包装粘合剂上实现了DoubleBinder:

import java.util.Map;
import play.libs.F.Option;
import play.mvc.QueryStringBindable;

public class DoubleBinder implements QueryStringBindable<Double>{

    @Override
    public Option<Double> bind(String key, Map<String, String[]> data) {
        String[] value = data.get(key);
        if(value == null || value.length == 0) {
            return Option.None();
        } else {
            return Option.Some(Double.parseDouble(value[0]));
        }
    }

    @Override
    public String javascriptUnbind() {
        // TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud)

java parameters double routes playframework-2.0

9
推荐指数
1
解决办法
6560
查看次数

标签 统计

double ×1

java ×1

parameters ×1

playframework-2.0 ×1

routes ×1