从模板将查询参数传递给控制器时,类型不匹配

用户名

我正在尝试设置一个允许可选查询参数的URL。例如

myurl?number=1

尝试从模板内部将值传递给控制器​​时,出现编译错误。

例如

<a href="@routes.Application.myView(Option(1))"></a> 

其中的routes.conf配置如下:

GET    /myurl/            controllers.Application.myurl(number: Option[Int])

具体错误是:

Type mismatch. Expected Nothing, actual: Option[Int]

如果我直接在浏览器中单击URL,则可以正常工作。但是,如果我尝试在模板中提供查询参数,它将失败。


以上是我从此问题获得的,这就是为什么我使用option设置路线的原因。

GET  /foo    controllers.MyController.foo(name: Option[String], age: Option[Int])

和...

def foo(name: Option[String], age: Option[Int]) = Action { implicit request =>
    Ok(s"Name is: $name, age is $age")

如何将查询参数传递给控制器​​?

好奇的

我已经阅读了Play框架中的反向路由,那么您很容易理解这一点。

然后,当您尝试使用可选的查询参数时,将终点定义为

GET    /myurl/            controllers.Application.myurl(number: Option[Int])

您可以从模板中将其用作

<a href="@routes.Application.myView(Some(1))"></a> 

该代码将被编译,但是您的IDE可能会向您显示错误,请忽略IDE的错误并直接从那里继续。

因此,每当您使用反向路由从模板调用动作时,都可以使用上述调用方法,并且将其按播放方式对待,/myrul?number=1并且如果将此网址粘贴到浏览器中,myurl则会调用您的动作,并且会处理number参数作为它的选择。

就像,我在我的应用程序之一中使用如下:

我的终点

GET         /file/:id                                        @controllers.FileController.getFile(id:String,w:Option[Int],h:Option[Int])

我的范本

<img src="@controllers.routes.FileController.getFile(company.logoPath,Some(150),None)" />

在终端上看到的终点

 GET /file/1ecf481b-9fb3-4d9d-93f5-16b10a6cefa3?w=150 took 134ms and returned 200

这清楚吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从模板将查询参数传递给控制器时,类型不匹配

来自分类Dev

将参数传递给控制器

来自分类Dev

AngularJS将指令模板中的参数传递给控制器

来自分类Dev

将控制器参数传递给模板symfony2

来自分类Dev

CakePHP:使用FormHelper将搜索查询传递给控制器参数

来自分类Dev

如何将控制器动作的参数传递给Ninject具体类型?

来自分类Dev

通过 Ajax 将强类型视图模型作为参数传递给控制器

来自分类Dev

将参数传递给MVC控制器中的方法时如何防止Url编码

来自分类Dev

使用路由时如何将参数传递给控制器?

来自分类Dev

将参数传递给另一个视图控制器时发生异常

来自分类Dev

将参数传递给MVC控制器中的方法时如何防止Url编码

来自分类Dev

将原始类型和对象传递给控制器时的区别

来自分类Dev

将参数传递给AngularJS控制器方法

来自分类Dev

使用Capybara将GET参数传递给控制器

来自分类Dev

Angular:将参数从$ routeProvider传递给控制器

来自分类Dev

将参数从路线传递给控制器

来自分类Dev

将参数传递给控制器中的回调

来自分类Dev

将大量参数传递给控制器?

来自分类Dev

如何使用ActionLink将参数传递给控制器

来自分类Dev

Rspec将视图参数传递给控制器规范

来自分类Dev

Ionic Popover无法将参数传递给控制器

来自分类Dev

将路径参数传递给控制器Laravel 5

来自分类Dev

如何将复杂的参数传递给控制器?

来自分类Dev

使用Capybara将GET参数传递给控制器

来自分类Dev

将多个参数传递给控制器

来自分类Dev

将参数传递给AngularJS控制器方法

来自分类Dev

将URL参数传递给AngularJS控制器?

来自分类Dev

从控制器将参数传递给Angular Factory

来自分类Dev

将GET参数传递给默认的欢迎控制器

Related 相关文章

  1. 1

    从模板将查询参数传递给控制器时,类型不匹配

  2. 2

    将参数传递给控制器

  3. 3

    AngularJS将指令模板中的参数传递给控制器

  4. 4

    将控制器参数传递给模板symfony2

  5. 5

    CakePHP:使用FormHelper将搜索查询传递给控制器参数

  6. 6

    如何将控制器动作的参数传递给Ninject具体类型?

  7. 7

    通过 Ajax 将强类型视图模型作为参数传递给控制器

  8. 8

    将参数传递给MVC控制器中的方法时如何防止Url编码

  9. 9

    使用路由时如何将参数传递给控制器?

  10. 10

    将参数传递给另一个视图控制器时发生异常

  11. 11

    将参数传递给MVC控制器中的方法时如何防止Url编码

  12. 12

    将原始类型和对象传递给控制器时的区别

  13. 13

    将参数传递给AngularJS控制器方法

  14. 14

    使用Capybara将GET参数传递给控制器

  15. 15

    Angular:将参数从$ routeProvider传递给控制器

  16. 16

    将参数从路线传递给控制器

  17. 17

    将参数传递给控制器中的回调

  18. 18

    将大量参数传递给控制器?

  19. 19

    如何使用ActionLink将参数传递给控制器

  20. 20

    Rspec将视图参数传递给控制器规范

  21. 21

    Ionic Popover无法将参数传递给控制器

  22. 22

    将路径参数传递给控制器Laravel 5

  23. 23

    如何将复杂的参数传递给控制器?

  24. 24

    使用Capybara将GET参数传递给控制器

  25. 25

    将多个参数传递给控制器

  26. 26

    将参数传递给AngularJS控制器方法

  27. 27

    将URL参数传递给AngularJS控制器?

  28. 28

    从控制器将参数传递给Angular Factory

  29. 29

    将GET参数传递给默认的欢迎控制器

热门标签

归档