首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java框架2中的路由,List<>作为参数

Java框架2中的路由,List<>作为参数
EN

Stack Overflow用户
提问于 2013-07-08 07:40:54
回答 2查看 4.6K关注 0票数 2

我正试图向我的控制器发送Infoobjects列表。我需要指定路线文件。我知道如何发送int、字符串和长参数,但是List<>怎么样?

我尝试过这样做,但是它不起作用,我会收到一条错误消息,上面写着"not:“。

代码语言:javascript
复制
GET    /generateExcel                  controllers.Application.generateExcel(list:List[Infoobject])

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-07-08 08:24:52

首先,我认为您需要将对象的包放在列表的[]中:List[path.of.your.package.Infoobject] (在您的路线中没有导入)。

无论如何,我认为您只能将字符串和数字放在URL中,以便向控制器发送参数。

1 1rst:您可以创建一个将对象(List[Infoobject])绑定到字符串的QueryStringBindable,以便控制器将通过URL作为字符串发送的信息恢复为ListInfoobject。

2解决方案:您可以发送字符串以帮助您在控制器中重新创建列表(例如,如果您查询数据库,或者它是一个仅包含字符串属性的对象列表)

下面是QueryStringBindable:http://www.playframework.com/documentation/api/2.1.1/java/play/mvc/QueryStringBindable.html的java文档

票数 3
EN

Stack Overflow用户

发布于 2013-07-08 10:31:51

路由不是传递复杂对象的最佳位置,而不是传递一个List (正如其他在答案/注释中指出的那样),您可以通过发送数据库中持久化的对象的逗号分隔列表来做得更好。记住,在许多地方你都可以碰壁。限制查询的长度什么的。

如果不能/不想将它们保存在DB中,也可以使用缓存API将整个列表存储在请求之间的内存中,这样就可以将缓存条目的ID作为普通的String发送到url中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17521308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档