在方法调用转换时,无法将实际列表转换为String

时间:2013-01-05 15:07:22

标签: java java-ee playframework

我是新手,已经开始开发一个从数据库中获取数据的应用程序。

我的应用程序中有以下代码:

public static Result list() {
    List products = Productslist.getListOfProducts();
    return ok(index.render(products));
}

这给了我以下错误:

Actual List cannot be converted to String on method invocation conversion  您还可以查看我的index.scala.html

#{extends 'main.html' /}
#{set title:'Cars in the car lot' /}
<h1>Products in Lot</h1>

<table border=1>
<tr>
<td>productname</td>
<td>Quantity</td>
<td>Price</td>
</tr>
#{list items:products, as:'product'}
<tr>
<td>${product.getProductname()}</td>
<td>${product.getQuantity()}</td>
<td>${product.getPrice()}</td>
</tr>
#{/list}
</table>

Application.java的完整代码是:

package controllers;

import play.*;
import play.mvc.*;
import models.Productslist;
import views.html.*;
import views.*;
import java.util.*;

public class Application extends Controller
{


public static Result list() 
    {
        List products = Productslist.getListOfProducts();
        return ok(index.render(products));
    }
}

任何人都可以帮我找到错误的来源吗?

2 个答案:

答案 0 :(得分:0)

看起来index.render(产品)上发生了错误;方法呈现期望字符串,但我们传递列表。你能输入方法render()

的代码吗?

答案 1 :(得分:0)

看起来你在视图中使用了错误的代码。试试这个

@(products: List[Productslist])

@import helper._

@main("Product list") {

    <h1>@product.size() product(s)</h1>

    <ul>
        @for(product <- products) {
            <li>
                @product.name
            </li>
        }
    </ul>
}

在运行服务器之前使用play clean-all