Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么可以';我不能在游戏2中渲染一个对象到我的视图中吗?_Java_Templates_Playframework 2.0 - Fatal编程技术网

Java 为什么可以';我不能在游戏2中渲染一个对象到我的视图中吗?

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

我想我误解了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 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开发中一样

    your
    render
    对象需要字符串这一事实可能是以下原因造成的:

    • @(公司:公司)无法解析为
      模型
      公司
    • 上一次编译有一个@(company:String)

    祝你好运!

    谢谢!播放调试~运行是关键。我的模板没有正确编译。