Q:

Actual List cannot be converted to String on method invocation conversion

I am a newbie to play and have started to develop an application to fetch the data from database.
I have the following code in my application:
public static Result list() {
    List products = Productslist.getListOfProducts();
    return ok(index.render(products));
}

and this gives me the following error:
Actual List cannot be converted to String on method invocation conversion
 You can also view my 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>

The complete code for Application.java is:
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));
    }
}

Can anyone help me find the source of the error?

A:

Look like you used the wrong code for the view. Try this instead
@(products: List[Productslist])

@import helper._

@main("Product list") {

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

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

Use play clean-all before running your server

