Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >将列表对象从控制器传递到视图时出现Play Framework编译错误

将列表对象从控制器传递到视图时出现Play Framework编译错误
EN

Stack Overflow用户
提问于 2016-11-03 19:54:10
回答 1查看 582关注 0票数 0

我在控制器中有一个函数,它返回用户模型记录的列表--我使用的是PlayStartApp模板:

代码语言:javascript
代码运行次数:0
复制
public Result getAllUsers() {
    List<User> users = User.find.all();
    return ok(searchusers.render(form(Login.class, users)));
}

此函数工作正常,并返回一个列表对象。

我还设置了一个视图(html页面),用于将对象传递给视图:

代码语言:javascript
代码运行次数:0
复制
@(loginForm: Form[Application.Login], userList: java.util.List[User])

当我在命令行上使用激活器进行编译时,我收到以下错误消息:

代码语言:javascript
代码运行次数:0
复制
[PlayStartApp] $ compile
[info] Compiling 1 Scala source and 1 Java source to C:\WebDev\git\PlayAuthentic
ate\target\scala-2.10\classes...
[error] C:\WebDev\git\PlayAuthenticate\app\controllers\Application.java:209: met
hod render in class views.html.searchusers cannot be applied to given types;
[error]   required: play.data.Form<controllers.Application.Login>,java.util.List
<models.User>
[error]   found: play.data.Form<controllers.Application.Login>
[error]   reason: actual and formal argument lists differ in length
[error] searchusers.render
[error] C:\WebDev\git\PlayAuthenticate\app\controllers\Application.java:215: no
suitable method found for form(java.lang.Class<controllers.Application.Login>,ja
va.util.List<models.User>)
[error]     method play.data.Form.<T>form(java.lang.Class<T>,java.lang.Class<?>)
 is not applicable
[error]       (cannot infer type-variable(s) T
[error]         (argument mismatch; java.util.List<models.User> cannot be conver
ted to java.lang.Class<?>))
[error]     method play.data.Form.<T>form(java.lang.String,java.lang.Class<T>,ja
va.lang.Class<?>) is not applicable
[error]       (cannot infer type-variable(s) T
[error]         (actual and formal argument lists differ in length))
[error]     method play.data.Form.<T>form(java.lang.String,java.lang.Class<T>) i
s not applicable
[error]       (cannot infer type-variable(s) T
[error]         (argument mismatch; java.lang.Class<controllers.Application.Logi
n> cannot be converted to java.lang.String))
[error]     method play.data.Form.<T>form(java.lang.Class<T>) is not applicable
[error]       (cannot infer type-variable(s) T
[error]         (actual and formal argument lists differ in length))
[error] form
[info] Some messages have been simplified; recompile with -Xdiags:verbose to get
 full output
[error] (compile:compileIncremental) javac returned nonzero exit code

我看了这篇文章,但我仍然有同样的问题:Play Framework 2.2.1 - Compilation error: "method render in class index cannot be applied to given types;"

任何帮助都是最好的!

编辑:我删除了登录表单。代码现在是:

代码语言:javascript
代码运行次数:0
复制
public Result getAllUsers() {
    List<User> users = User.find.all();
    return ok(searchusers.render(users));
}

我现在的观点是:

代码语言:javascript
代码运行次数:0
复制
@(userList: List[User])


@main(null) {

<ul>
@for(user <- userList) {
  <li>@user.fullname</li>
} 
</ul>

}

我在编译的时候收到了这个:

代码语言:javascript
代码运行次数:0
复制
[error] C:\WebDev\git\PlayAuthenticate\app\controllers\Application.java:209:  no
 instance(s) of type variable(s) T exist so that play.data.Form<T> conforms to java.util.List<models.User>
EN

回答 1

Stack Overflow用户

发布于 2016-11-03 19:58:23

更改此行

代码语言:javascript
代码运行次数:0
复制
ok(searchusers.render(form(Login.class, users)))

代码语言:javascript
代码运行次数:0
复制
ok(searchusers.render(form(Login.class), users))

为了清楚起见

代码语言:javascript
代码运行次数:0
复制
Form[Application.Login] loginForm = form(Login.class)

ok(searchusers.render(loginForm, users))

您必须将form作为第一个参数传递,将users作为第二个参数传递,但是您试图将Login.class和users传递给form,这是错误的。

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

https://stackoverflow.com/questions/40410135

复制
相关文章
MVC 控制器中传递dynamic(对象) 给视图
 有时候不想重新定义一个实体,则使用 dynamic 来定义匿名类型。 //匿名类型 传递到前台 Model dynamic viewModel = n
纯粹是糖
2018/03/14
8810
MVC 控制器中传递dynamic(对象) 给视图
ASP.NET MVC 5 - 将数据从控制器传递给视图
在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库中检索数据,并最终决定什么类型的返回结果会发送回浏览器。视图模板可以被控制器用来产生格式化过的HTML从而返回给浏览器。 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一个视图模板应该永远不会执行业务逻辑或者直接和数据库进行交互。相应的,一个视图模板应该只和控制器所提供的数据进行交
葡萄城控件
2018/01/10
5K0
ASP.NET MVC 5 - 将数据从控制器传递给视图
play framework - 初识
研发代码框架是play-framework框架,想看代码的话,需要学习下play框架。IDE工具的话之前一直用的idea,所以本文涉及的idea play的配置 和 一些play的简单知识
千往
2018/12/27
1.4K0
play framework - 初识
从视图到控制器的传值方法(表单)
Views中: 将数据提交到某个控制器的方法中,在该方法中去做处理 <form action="/控制器/get"method=“post”> 姓名:<input type="text" name="SName"/> //SName是属性名称 性别:<input type="radio" name="sex" value="男"/>; <input type="radio" name="sex" value="女"/> //sex是属性名称 <input type="submit" valu
wfaceboss
2019/04/08
1.9K0
利用fluorineFx将DataTable从.Net传递到Flash
FluorineFx自带的示例都不错,就是有点不简洁,下面的代码基本上已经最简版了(环境vs2010) 1、先创建一个Web Application,然后添加FluorineFx以及FluorineFx.ServiceBrowser的引用 这二个程序集的默认位置在: C:\Program Files (x86)\FluorineFx\Bin\net\3.5\FluorineFx.dll C:\Program Files (x86)\FluorineFx\Bin\net\3.5\FluorineFx.Serv
菩提树下的杨过
2018/01/23
2.4K0
利用fluorineFx将DataTable从.Net传递到Flash
SpringMVC传递模型数据到视图
要求:处理方法返回值类型为 ModelAndView。在方法体中我们通过该ModelAndView对象添加模型数据。
Tim在路上
2020/08/04
8150
Asp.Net MVC4入门指南(5):从控制器访问数据模型
在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序(生成应用程序)(确保应用程序编译没有问题) 用鼠标右键单击Controller文件夹,并创建一个新的 MoviesController控制器。当Build成功后,会出现下面的选项。设定以下选项: · 控制器名称: MoviesController.(这是默认值)。 · 模板: MVC Controller wit
葡萄城控件
2018/01/10
4.2K0
Asp.Net MVC4入门指南(5):从控制器访问数据模型
ASP.NET MVC 5 -从控制器访问数据模型
在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序(生
葡萄城控件
2018/01/10
5.9K0
ASP.NET MVC 5 -从控制器访问数据模型
错误页面定制与视图传递多个参数
一、错误页面定制 视图函数 <span class="hljs-meta">@app.errorhandler(404)</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">page_not_found</span><span class="hljs-params">(e)</span>:</span> <span class="hljs-keyword">
星哥玩云
2022/09/14
1K0
ASP.NET MVC学习笔记05模型与访问数据模型
上一篇使用的M模型,并不是真正意义上的Model,现在来添加一些类,并将这些类用来管理数据库中数据(电影)。而这些类,就是ASP.NET MVC中的Model(模型)。 ---- 而这里也将使用.NET Framework数据访问技术Entity Framework 来定义和使用这些模型类。Entity Framework(简称为EF)是支持代码优先(Code First)的开发模式。代码优先允许通过编写简单的类来创建对象模型,然后从类创建数据库。 添加模型类 在解决方案资源管理器中,右键单击Mode
李郑
2018/03/01
2.4K0
ASP.NET MVC学习笔记05模型与访问数据模型
maven编译时出现There are test failures
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures. [ERROR] [ERROR] Please refer to E:\maven\web_nanchang\target\surefire-reports for the individual test r
闵开慧
2018/03/30
3.6K0
体验 Scala 语言的 Play Web 框架
在本文中将介绍 Scala 的 Play Web 开发框架。我们将会学习如何创建一个 Play 项目,使用开发工具生成我们的第一个项目以及实现自定义的功能,另外还将体验一下 Play 框架的测试能力。
RiemannHypothesis
2022/09/28
2K0
Hadoop搭建,上传文件时出现错误,没有到主机的路由
解决方案: (1)从namenode主机ping其它slaves节点的主机名(注意是slaves节点的主机名),如果ping不通,原因可能是namenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。 (2)从datanode主机ping master节点的主机名(注意也是节点的主机名),如果ping不通,原因可能是datenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。 (3)查看各机器节点的防火墙是否关闭(或者设置防火墙开启,但对我们的指定端口开放,最好是关闭防火墙)
hankleo
2020/09/17
2.6K0
framework not found -fno-arc编译错误
由于我是刚接手的代码  然后我拿来运行根本就是运行不了的  然后需要在linker 那边删除点东西就可以了。 把下边的两个删除就可以了 关于other linker flags 的介绍 请参考http://blog.csdn.net/meegomeego/article/details/19343423
用户1219438
2018/02/01
5430
framework not found -fno-arc编译错误
控制器到视图的传值方式
(3)TempData        TempData实际上保存在Session中,控制器每次执行请求时都会从Session中获取TempData数据并删除该Session。TempData数据只能在控制器中传递一次,其中的每个元素也只能被访问一次,访问之后会被自动删除。
wfaceboss
2019/04/08
1.3K0
Typecho评论时可能出现的错误
根据URL得知应该是在发评论的时候出现的错误。很奇怪,因为很久之前这位博友jiuki's blog也给我反馈过一次。说明这问题不是偶然出现的,所以必须要解决才行。
Melody132
2020/03/13
1.5K0
【说站】python列表如何传递到线程?
python列表如何传递到线程? 说明 1、所有线程在一个过程中共享全局变量,便于在多个线程之间共享数据。 2、线程是对全局变量的随意遂改可能导致多线程之间的混乱(即线程不安全)。 实例 import time from threading import Thread     def work1(nums):     nums.append(44)     print("----in work1---",nums)     def work2(nums):     #延时一会,保证t1线程中的事情做完
很酷的站长
2022/11/24
5150
【说站】python列表如何传递到线程?
使用Androidkiller或APKIDE编译APK文件时出现libpng error: Not a PNG file的错误
>W: libpng error: Not a PNG file >W: ERROR: Failure processing PNG image D:\xin\AndroidKiller_v1.3.12018\projects\CFF_100\Project\res\mipmap-xxhdpi-v4\ic_launcher.png
全栈程序员站长
2022/11/17
4.4K0
使用Androidkiller或APKIDE编译APK文件时出现libpng error: Not a PNG file的错误
JAVA常用框架及漏洞[通俗易懂]
1. MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:
全栈程序员站长
2022/07/18
3.5K0
点击加载更多

相似问题

将对象列表从视图传递到控制器时出现NullReferenceException

113

将列表传递到Play Framework中查看

14

在Play Framework上将参数从视图传递给控制器

25

无法在play框架中将列表从控制器传递到视图

11

将列表从视图传递到控制器

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文