2015-07-28 2 views
1

на основе этого http://www.markhneedham.com/blog/2012/10/14/play-framework-2-0-rendering-json-data-in-the-view/Играть! 2 Предоставление данных в формате JSON в Вид из контроллера

MyView:

@(message: String)(myobjects:ObjectNode) 
@import com.fasterxml.jackson.databind.JsonNode 
@import com.fasterxml.jackson.databind.node.ObjectNode 

контроллер:

ObjectNode myobjects = objectsDAO.getObjects(); 
return ok(myview.render("test",myobjects)); 

ошибка

not found: type ObjectNode 

Не похоже на работу с ObjectNode, импорт в представлении не чтобы работать. Не удалось найти много документации о прохождении мнение, в JSON

+0

Какую версию игры вы используете? Это сообщение, о котором вы говорите, относительно устарело. – Nio

ответ

1

Try определяя его как таковой: @(message: String, myobjects:com.fasterxml.jackson.databind.node.ObjectNode), или, если это не сработает, поставить @imports в вашем main.scala.html, поскольку он имеет содержание других ваших взглядов ....

<body> 
    @content 
</body> 
+0

Спасибо, что сработали. Можете ли вы объяснить, почему? – Jabda

+1

Если я правильно помню, это как-то связано с тем, какие классы Play Framework импортируют по умолчанию. Например, все в вашем пакете .models импортируется по умолчанию, поэтому, если вы говорите класс models.Product, вам не нужен полный путь к Product в представлении. Однако классы Джексона не находятся в папке ваших моделей ... но в отдельной банке где-то на пути сборки. Я попытаюсь найти некоторые заметки, которые я сделал для себя немного позже, чтобы узнать, могу ли я расширить это, но если я правильно помню - вот суть проблемы. –

+0

Я думал больше о том, почему @import не работал, и его нужно было положить в скобки. – Jabda