pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

如何將 Double 參數與 Play 2.0 路由綁定

How to bind Double parameter with Play 2.0 routing(如何將 Double 參數與 Play 2.0 路由綁定)
本文介紹了如何將 Double 參數與 Play 2.0 路由綁定的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在學習自己的 Play 2.0(使用 Java API)并希望有一個 double/float 參數(用于位置坐標),例如 http://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253.

I'm learning myself Play 2.0 (Java API used) and would like to have a double/float parameter (for location coordinates), something like http://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253.

我可以通過獲取參數作為字符串并在控制器等處解析它們來做到這一點,但是我可以在這里使用自動綁定嗎?

I can do this by getting the parameters as String and parsing them at controller etc but can I use automatic binding here?

現在,我首先嘗試簡單地設置一個雙精度值:

Now, I first tried simply having one double value:

GET     /events/foo                 controllers.Application.foo(doublevalue: Double)

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

我得到的是沒有為 Double 類型找到 QueryString 綁定器.嘗試為此類型實現隱式 QueryStringBindable."

我是否錯過了已經提供的內容或我是否必須制作一個解析 Double 的自定義 QueryStringBindable?

Have I missed something already provided or do I have to make a custom QueryStringBindable that parses Double?

我在 http://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play-2/

我在包活頁夾中實現了 DoubleBinder:

I implemented DoubleBinder at package binders:

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 method stub
        return null;
    }

    @Override
    public String unbind(String key) {
        // TODO Auto-generated method stub
        return null;
    }
}

并嘗試將其添加到 project/Build.scala 的 main 中:

And tried to add it to project/Build.scala's main:

routesImport += "binders._"

但結果相同:找不到類型 Double.... 的 QueryString 綁定器"

but same result : "No QueryString binder found for type Double...."

  • 我還將路由簽名更改為 java.lang.Double,但這也無濟于事
  • 我還更改了 DoubleBinder 以使用 Double & 實現 play.api.mvc.QueryStringBindable(而不是 play.mvc.QueryStringBindable).java.lang.Double 在路由簽名處,但仍然沒有幫助

推薦答案

目前(在 Play 2.0 中),Java binders 僅適用于自遞歸類型.也就是說,類型如下所示:

Currently (in Play 2.0), Java binders only work with self-recursive types. That is, types looking like the following:

class Foo extends QueryStringBindable<Foo> {
  …
}

所以,如果你想為 java.lang.Double 定義一個 binder,它是 Java 的現有類型,你需要將它包裝在一個自遞歸類型中.例如:

So, if you want to define a binder for java.lang.Double, which is an existing type of Java, you need to wrap it in a self-recursive type. For example:

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();
    }

}

然后你可以在你的應用程序中使用它:

Then you can use it as follows in your application:

GET    /foo     controllers.Application.action(d: util.DoubleW)

public static Result action(DoubleW d) {
      …
}

這篇關于如何將 Double 參數與 Play 2.0 路由綁定的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Why does the android emulator camera stop unexpectedly?(為什么android模擬器相機會意外停止?)
Android camera , onPictureTaken(byte[] imgData, Camera camera) method amp; PictureCallback never called(Android camera , onPictureTaken(byte[] imgData, Camera camera) 方法 amp;PictureCallback 從未調用過) - IT屋-程序員軟件開發技
Understanding the libGDX Projection Matrix(了解 libGDX 投影矩陣)
QR code reading with camera - Android(使用相機讀取二維碼 - Android)
IP camera with OpenCv in Java(Java中帶有OpenCv的IP攝像頭)
Android mock Camera(Android 模擬相機)
主站蜘蛛池模板: 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 膜片万向弹性联轴器-冲压铸造模具「沧州昌运模具」 | 聚合甘油__盐城市飞龙油脂有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 福尔卡(北京)新型材料技术股份有限公司| 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 电动高压冲洗车_价格-江苏速利达机车有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 分类168信息网 - 分类信息网 免费发布与查询 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸| 出国劳务公司_正规派遣公司[严海]| 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 |