Java 为什么可以';我不能在游戏2中渲染一个对象到我的视图中吗?
我想我误解了Play 2框架的某些内容 在我的应用程序控制器中,我从数据库中获取一个公司对象 在我看来,我想对它进行一些操作 companyView.scala.html:Java 为什么可以';我不能在游戏2中渲染一个对象到我的视图中吗?,java,templates,playframework-2.0,Java,Templates,Playframework 2.0,我想我误解了Play 2框架的某些内容 在我的应用程序控制器中,我从数据库中获取一个公司对象 在我看来,我想对它进行一些操作 companyView.scala.html: @(company: Company) @main("Welcome to Play 2.0") { <h1>@{company.name}</h1> } package controllers; import models.Company; import play.*; import p
@(company: Company)
@main("Welcome to Play 2.0") {
<h1>@{company.name}</h1>
}
package controllers;
import models.Company;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public static Result company(String rest) {
Company company =
Company.find.where().ilike("restfulIdentifier.identifier", rest).findUnique();
return ok(companyView.render(company));
}
}
但是返回ok(companyView.render(company))代码>导致编译错误,因为companyView.render
需要字符串
如果我看一下表单示例应用程序:
/**
* Handle the form submission.
*/
public static Result submit() {
Form<Contact> filledForm = contactForm.bindFromRequest();
if(filledForm.hasErrors()) {
return badRequest(form.render(filledForm));
} else {
Contact created = filledForm.get();
return ok(summary.render(created));
}
}
/**
*处理表格提交。
*/
公共静态结果提交(){
Form filledForm=contactForm.bindFromRequest();
if(filledForm.hasErrors()){
返回请求(form.render(filledForm));
}否则{
Contact created=filledForm.get();
返回ok(summary.render(created));
}
}
渲染对象没有问题。我想这个解决方案相当简单和简单
我遗漏了文件中的一些关键部分。请给我解释一下 我不知道这是否能解决您的问题,但值得一试。尝试删除或更改:
@{公司名称}
致:
@company.name我在这种情况下的步骤如下:
更改scala模板,我们必须告诉scala模板我们的公司
属于模型类:(但也按照Jordan的建议更改为@Company.name
)
@(company: models.Company)
@main("Welcome to Play 2.0") {
<h1>@company.name</h1>
}
@(公司:models.company)
@主(“欢迎玩2.0”){
@公司名称
}
运行命令play clean
然后运行播放调试~run
通过执行play debug~run
,您将触发在每次保存一个项目文件时编译play应用程序
注意:播放模板基本上是函数。这些函数需要编译,在使用之前需要声明这些函数中使用的所有内容。就像在常规Java开发中一样
yourrender
对象需要字符串这一事实可能是以下原因造成的:
- @(公司:公司)无法解析为
模型
公司
- 上一次编译有一个@(company:String)
祝你好运!谢谢!播放调试~运行是关键。我的模板没有正确编译。