2013-10-03 2 views
0

Я пытаюсь передать строку в качестве параметра из контроллера Java-приложения в scala-представление, но я получаю ошибку, любую идею, как достичь этого?Как передать параметры в scala view form java application controller?

+0

Если вы хотите, чтобы кто-то помог вам написать один раз, что вы пробовали ... – biesior

ответ

1

Это легко:

контроллер:

return ok(yourView.render("Your string")); 

вид (объявлении параметров (ы) в первой строке!):

@(param1: String) 

<h1>@param1</h1> 

Обратите внимание, что Java не позволяет опционально и/или названные args, поэтому вам нужно всегда передавать такое же количество аргументов и в том же порядке, который указан в представлении

+0

спасибо, но вместо передачи одного параметра я хотел передать массив строки, скажем, «abc», где «abc» - это массив String, любая идея? –

+0

, поэтому вы можете отправить, например: 'Map ' – biesior

+0

На самом деле, я пытаюсь отправить массив строки на страницу просмотра индекса, я получаю сообщение об ошибке, если я пытаюсь отправить его –

0

Не зная, какова ваша ошибка, трудно устранить неполадки, но я предполагаю, что ошибка - это просто проблема с неявными коллекциями java для преобразования коллекций scala. Исходя из ваших комментариев в @ biesior то вопрос, я даже не уверен, что ваш тип данных, я думаю, что это 2D массив строк, то есть String[][] templateStrings но описать его работу как Map<String, String[]> templateStrings

Если это первый случай, я подумайте, что эквивалентная коллекция scala будет Array [Array [String]]; если это второй, то Seq [String, Array [String]]. Попробуйте определить это в списке параметров шаблона, а затем передайте свою коллекцию java на return ok(yourView.render(templateStrings));, как и ответ biesior.

Смежные вопросы